Browse Prior Art Database

Functional Memory for Arithmetic Operations

IP.com Disclosure Number: IPCOM000083407D
Original Publication Date: 1975-May-01
Included in the Prior Art Database: 2005-Mar-01
Document File: 6 page(s) / 55K

Publishing Venue

IBM

Related People

Murphy, RW: AUTHOR

Abstract

Described is a method of performing addition using the associative memory operation of interrogation (search).

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 28% of the total text.

Page 1 of 6

Functional Memory for Arithmetic Operations

Described is a method of performing addition using the associative memory operation of interrogation (search).

In the basic operation of addition, one number, the addend, is stored in the search array portion 10 and 12 of a two-part array of associative-like cells. A second number, the augend, then is used to interrogate one part of the memory, the search array. Certain matches result, identifying elements of the second part, the sum array, and when these are read out and combined, they constitute the sum of addend and augend. Fig. 2 shows the patterns in the two-part array for a general four-bit number.

A principal feature of the method, is that the search and sum patterns are obtained by placing individual bits of the addend (or their complements) in specific positions of the arrays. The arrays themselves are invariant for a given sized field, so that once they are wired for the proper placement of bits, any addend can be stored directly, without computation. Subtraction arrays are also worked out, and their use is more efficient than subtracting by complementing and adding.

It turns out that the bit patterns for (x y), (x - y), and (y - x) are sufficiently similar that only a single-array set needs be built and the three functions realized by switching; specifically true/complement switching of the search argument and of certain bit groups read from the result array.

The arrays show a high degree of regularity, in that the arrays for a small field are a subset of the arrays for a large field. Furthermore, provision is easily made for in-carries or in-borrows, so that the technique is adaptable to multiple precision arithmetic. The system thus permits a high degree of tailoring to meet varying cost/performance objectives and manufacturing considerations.

The general case of addition or subtraction requires three steps: write one operand in the array; interrogate the search array with the other operand; and read the result from the result array. If one operand is used repeatedly, the write step is needed only once for its entry, and subsequent operations proceed with only interrogate and read steps. This feature is particularly useful in multiplication and division, which are done by over-and-over addition and subtraction, respectively. The multiplicand or the divisor is stored in the arrays, and the operation proceeds with a search and a read for each bit of the multiplier or quotient, each read providing the next search argument, and for multiplication, part of the final result. These operations are discussed in more detail below.

Another feature of the method is that once an operand has interrogated the search array and the match indicators set, both the operand and the result can be read out repeatedly, the former coming from the search array, assuming the appropriate bit-sense elements. In addition, the operand originally stored can be read as desired, either after interrogating wi...