Interplating memory function evaluation
OwnerAndrew S. Noetzelinventor
Life of this patent
Estimating the term…
Loading patent…
OwnerAndrew S. Noetzelinventor
Estimating the term…
A technique for the evaluation of a general continuous function f(x) is presented, and the design of an interpolating memroy, an implementation of the technique, is described. The technique partitions the domain of f(x) into segments, and defines an interpolating (or approximating) function for each. The implementation is a memory subsystem that holds the parameters of the approximating functions and yields an interpolated function value on each read reference. Polynomial interpolating functions are considered in particular. Hardware requirements (memory and computational logic) are analyzed in terms of the required precision. It is shown that as long as f(x) has d+1 derivatives, and d is the degree of the interpolating polynomial, d+1 additional bits of precision of the computer f(x) are obtained for each additional address bit used in the interpolating memory. This establishes a tradeoff between memory and computational logic, which can be exploited in the design of a unit for a specific function, for any precision requirement. Furthermore, a single unit may be designed for any class of functions that have the required derivatives. Two examples of implementations for particular functions are presented.
An interpolating memory function evaluation apparatus, comprising:
An apparatus for evaluating floating-point functions, comprising a first input for inputting a function identification f, a second input for inputting an argument x in floating-point form with exponent E and mantissa M, means for supplying the function identification f input to a set-associative memory, means for supplying high order bits of E to the set-associative memory, means for supplying low order bits of E and high order bits of M to a set selection input of the associative memory, for selecting a portion of the associative memory, means for making an associative search in the selected portion of the memory with f and the high order bits of E, means for selecting, as a result of the associative search, a memory word containing polynomial coefficients and a floating-point exponent, means for supplying parallel outputs of a polynomial coefficients to a polynomial evaluation unit, means for supplying low order bits of M to the polynomial evaluation unit, means for supplying the floating-point exponent and an output of the polynomial evaluation unit to a floating-point normalization unit in obtaining floating-point representation of the function evaluation from the normalization unit M of the normalizer.
A floating-point interpolating memory, comprising a floating-point argument input having an exponent section and an mantissa section, a function identification input, a set-associative memory having a function input and an exponent input, the function input being connected to the function identification input, high order bits in the exponent section being connected to the exponent input of the set-associative memory, a set-selector connected to the set-associative memory, at least one of low order bits from an exponent register and high order bits from a mantissa register being connected to the set selector for selecting associative memory set from the set-associative memory, a word memory unit connected to the set-associative memory having words selected by an associative search in the selected set, the selected memory words including a floating-point exponent and polynomial coefficients, a polynomial evaluator connected to plural outputs of the word memory unit holding the polynomial coefficients, the polynomial evaluator having an input connected to low order bits from the input mantissa register, a floating-point normalization unit connected to an output of the polynomial evaluator and having an input connected to a floating-point exponent obtained from the word memory unit, the floating-point normalization unit having an output of the function evaluation.
Dependencies are inferred from the claim text.