Patent Document ID: 5438646
Application ID: 07932827
Patent Flag: 1

Claim One:
1. A device for performing pattern recognition comprising: a data flow processor; input means for inputting a set of data tokens into said data flow processor, each data token containing a data value; copy means, within said data flow processor, linked to said input means receiving said set of data tokens for making multiple copies of said set of data tokens; a plurality of weighting means, within said data flow processor, each linked to said copy means and receiving a copy of said set of data tokens for associating a predetermined weight value to each data value of said set of data tokens and for generating a weighted product of each of said data values with said predetermined weight value associated with each of said data values; and a plurality of neuron means, within said data flow processor, each linked to one of said weighting means receiving therefrom said weighted products provided, for generating a sum of said weighted products by summing said weighted products, for determining within said data flow processor a first output value whenever said sum is greater than or equal to a predetermined threshold value, and for determining within said data flow processor a second output value whenever said sum is less than said predetermined threshold value, wherein each of said plurality of neuron means comprises means for receiving said weighted products; summing means for receiving two values and for generating a partial sum, which is a sum of said two values, by summing said two values; queue means receiving said partial sum and said weighted products for holding said partial sum and said weighted products received and for passing a first value and a second value to a summing means, said first value and said second value corresponding to the earliest two values held by the queue means; convolving means for outputting a predetermined queue means element corresponding to a full neural sum; comparing means receiving said full neural sum for reading said predetermined threshold value from a storage location and for generating a predetermined third output value based on the arithmetic difference between said full neural sum and said predetermined threshold value.