Neural processor comprising distributed synaptic cells
First Claim
1. A neural processor operating to realize the function of neurons interconnected by respective synapses, each synapse forming a part of a particular neuron to evaluate the effect of a respective source neuron on the particular neuron and each synapse being a connection strength between a source and a destination neuron, the particular neuron communicating with a respective destination neuron comprising:
- at least one concatenation of respective uniform programmable synaptic cells, the concatenation having an entry and an exit, the concatenation forming a data path between the entry and the exit, the respective uniform programmable synaptic cells each acting as a single one of the respective synapses, the uniform programmable synaptic cells in the concatenation being programmable to aggregate serially at least one group of cells that together form a single neuron, the number of cells in the at least one group also being programmable, each uniform programmable synapse being operative for selectively modifying data in the data path, each uniform programmable synaptic cell having;
a respective data input and a respective data output, the data input of each next one of the cells being connected to the data output of a preceding one of the cells, such that data is transferred along the concatenation,a respective calculation unit for performing a respective data calculation on data received by the data input and producing selectively modified data at the data output, the calculation unit of each next cell multiplying data received by the next cell with a stored synaptic coefficient and accumulating the multiplication result thereof with a stored or received partial sum produced by a preceding one of the cells;
a respective memory, coupled to the respective calculation unit, for storing data received by the data input or produced as modified data by the calculation unit; and
bus means for communicating a programming instruction to each of the cells, the cells being connected in parallel to the bus means.
0 Assignments
0 Petitions
Accused Products
Abstract
A neural net has a physical topology independent of its functional topology. Cells, being functional equivalents of synapses, are concatenated to form a unidirectional data path. The cells are connected in parallel to a bus for individual or parallel control The respective synapses contributions to a neuron potential are individually calculated in each respective cell involved. Each cell in the concatenation either is rendered transparent or adds its contribution to the data received from the preceding cell and supplies this sum to the next cell. Preferably, the allocation of the synapses to the cells is programmable.
-
Citations
12 Claims
-
1. A neural processor operating to realize the function of neurons interconnected by respective synapses, each synapse forming a part of a particular neuron to evaluate the effect of a respective source neuron on the particular neuron and each synapse being a connection strength between a source and a destination neuron, the particular neuron communicating with a respective destination neuron comprising:
at least one concatenation of respective uniform programmable synaptic cells, the concatenation having an entry and an exit, the concatenation forming a data path between the entry and the exit, the respective uniform programmable synaptic cells each acting as a single one of the respective synapses, the uniform programmable synaptic cells in the concatenation being programmable to aggregate serially at least one group of cells that together form a single neuron, the number of cells in the at least one group also being programmable, each uniform programmable synapse being operative for selectively modifying data in the data path, each uniform programmable synaptic cell having; a respective data input and a respective data output, the data input of each next one of the cells being connected to the data output of a preceding one of the cells, such that data is transferred along the concatenation, a respective calculation unit for performing a respective data calculation on data received by the data input and producing selectively modified data at the data output, the calculation unit of each next cell multiplying data received by the next cell with a stored synaptic coefficient and accumulating the multiplication result thereof with a stored or received partial sum produced by a preceding one of the cells; a respective memory, coupled to the respective calculation unit, for storing data received by the data input or produced as modified data by the calculation unit; and bus means for communicating a programming instruction to each of the cells, the cells being connected in parallel to the bus means. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
9. A neural net with a processor comprising:
-
a data input for receiving data, and a data output for supplying data; a data path between the data input and the data output and comprising a plurality of concatenated uniform cells; an address bus connected in parallel to the cells for supplying a current address to select one or more of the cells; the current address comprising a current source neuron identifier, a current destination neuron identifier and control information for controlling processing of the current identifiers by the cells; and each respective one of the cells comprising; respective first storage means for storing a respective synaptic coefficient; respective second storage means for storing a respective neuron state; respective third storage means for storing a respective source neuron identifier and a respective destination neuron identifier assigned to the respective cell; respective comparing means for generating a first control signal indicative of comparing the current source neuron identifier with the respective source neuron identifier, and a second control signal indicative of comparing the current destination neuron identifier with the respective destination neuron identifier; each respective one of the cells comprises processing means for selectively processing data received from a next preceding cell under control of the current address by either passing on the data after operating thereon using the respective synaptic coefficient and the respective neuron state, or passing the data on unmodified to a next successive cell; and control means connected between the comparing means and the processing means for control of the processing dependent on the first and second control signals and on the control information supplied in the current address. - View Dependent Claims (10, 11)
-
-
12. A neural processor operating to realize the function of neurons interconnected by respective synapses, a synapses synapse being a connection strength between a source and a destination neurons neuron, said neural processor comprising:
-
at least one concatenation of respective uniform synaptic cells, to aggregate serially separate source neurons contributions to obtain a whole contribution brought by those source neurons connected onto one destination neuron, the concatenation having an entry and an exit, the concatenation forming a data path between the entry and the exit, one data path comprising a programmable number of synaptic cells, each synaptic cell comprising; a respective data input and a respective data output, the data input of each next one of the cells being connected to the data output of a preceding one of the cells, such that data is transferred along the concatenation, a respective calculation unit for performing a respective data calculation, and a respective memory, coupled to the respective calculation unit, for storing data; and bus means for communicating an instruction, the cells being connected in parallel to the bus means, each respective cell comprising a respective address unit for receiving and storing a respective programmable address for rendering the cell selectable upon receiving a same respective programmable address supplied by the bus means, the respective programmable address comprising at least a first;
programmable identifier for specifying the source neuron from a respective source-destination neuron pair and/or a second programmable identifier for specifying the destination neuron from the respective pair, andthe respective programmable address being programmed by sending an allocation instruction on the bus means.
-
Specification