Asynchronous parallel arithmetic processor utilizing coefficient polynomial arithmetic (CPA)
First Claim
1. Asynchronous Parallel Arithmetic (APA) processor utilizing Coefficient Polynomial Arithmetic (CPA) capable of processing given arithmetic operations on multiple sets of input binary numbers A and B, said APA processor comprising modular hardware components and being capable of achieving parallelism and concurrency at the data-path level, thereby facilitating the mapping of algorithms to hardware for embedded systems, said modular hardware components comprising:
- a means for holding therein the input binary numbers A and B;
a parallel multiplier, coupled to said holding means, for processing said input binary numbers and producing therefrom a first set of coefficient polynomials pn in CPA form, said first set of coefficient polynomials being organized into a plurality of columns;
a means for receiving and parallel-merging said first set of coefficient polynomials in said columns to produce a second set of coefficient polynomials and continuing said parallel-merging of the last set of coefficient polynomials until the degree of “
1”
for the resultant coefficient polynomial set is achieved; and
a two-stage adder coupled to said parallel-merging means for rendering the result of said arithmetic operations on said input binary numbers A and B in ordinary binary form.
1 Assignment
0 Petitions
Accused Products
Abstract
Sets of coefficient polynomials are used to design embedded-component architectures that have capability for asynchronous parallel execution at an advantageous arithmetic level where algebraic merging is realized with other operations, algorithms or applications. Because of the particular hardware structures made possible by the use of CPA, higher computational granularities and complex modules are more easily feasible than by using conventional arithmetic and, additionally, increased efficiency is obtained for algorithmic computations involving single and multiple operations. This is achieved by the merging of operations and the integration of algorithms, and thereby avoiding the necessity of performing the entire basic arithmetic separately for each operation or algorithm. In the Asynchronous Parallel Arithmetic (APA) Processor Utilizing Coefficient Polynomial Arithmetic (CPA), the various sets of coefficient polynomials represent the merged operations or algorithms at much earlier time slots and their resolution to the final result level is accomplished with notably increased efficiency when compared to conventional structures.
1 Citation
13 Claims
-
1. Asynchronous Parallel Arithmetic (APA) processor utilizing Coefficient Polynomial Arithmetic (CPA) capable of processing given arithmetic operations on multiple sets of input binary numbers A and B, said APA processor comprising modular hardware components and being capable of achieving parallelism and concurrency at the data-path level, thereby facilitating the mapping of algorithms to hardware for embedded systems, said modular hardware components comprising:
- a means for holding therein the input binary numbers A and B;
a parallel multiplier, coupled to said holding means, for processing said input binary numbers and producing therefrom a first set of coefficient polynomials pn in CPA form, said first set of coefficient polynomials being organized into a plurality of columns;
a means for receiving and parallel-merging said first set of coefficient polynomials in said columns to produce a second set of coefficient polynomials and continuing said parallel-merging of the last set of coefficient polynomials until the degree of “
1”
for the resultant coefficient polynomial set is achieved; and
a two-stage adder coupled to said parallel-merging means for rendering the result of said arithmetic operations on said input binary numbers A and B in ordinary binary form. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
- a means for holding therein the input binary numbers A and B;
-
10. A computer-readable medium containing instructions therein for controlling a computer system and causing the computer system to utilize Coefficient Polynomial Arithmetic (CPA) to process given arithmetic operations on multiple sets of input binary numbers A and B, so as to achieve parallelism and concurrency at the data-path level, by:
-
(a) processing the input binary numbers and consequently producing a first set of coefficient polynomials pn in CPA form;
(b) organizing the first set of coefficient polynomials into a plurality of columns;
(c) parallel-merging the first set of coefficient polynomials in the columns to produce a second set of coefficient polynomials;
(d) continuing the parallel-merging of the last preceding set of coefficient polynomials until the degree of “
1”
is achieved for each resultant coefficient polynomial in the final set, said resultant coefficient polynomial set representing the final result in binary form.(e) performing initial parallel addition on the final resultant coefficient polynomial set in totally parallel CPA form to produce carry bits and sum bits; and
(f) sequentially adding the carry bits and sum bits to render a final result in ordinary binary form. - View Dependent Claims (11)
-
-
12. A method in a computer system for computing a correlation value between a target image and a filter image, for greater accuracy and ease in the recognition of an intended target, by obtaining the sum of all the individual products of corresponding pixels from the target image and the filter image, said method comprising the steps of:
-
(a) scanning the target scene and creating an electronic image of the scene;
(b) converting the target image into an array of pixels and inputting the array of pixels and the filter image pixels to multiple Cauchy product registers;
(c) producing products, in the multiple Cauchy product registers, of pixels from the target image and the filter image, the products each having individual bit positions;
(d) accumulating corresponding bits of the individual bit positions of the products within each of the Cauchy product registers into a first set of coefficient polynomials;
(e) organizing the first set of coefficient polynomials into a plurality of columns;
(f) parallel-merging the first set of coefficient polynomials in the columns to produce a second set of coefficient polynomials;
(g) continuing the parallel-merging of the last preceding set of coefficient polynomials until coefficient polynomials having the final cross-correlation value are produced. (h) Applying the final cross-correlation value to a tracking means to aid in the recognition of the intended target. - View Dependent Claims (13)
-
Specification