Addressing scheme for neural modeling and brain-based devices using special purpose processor
AssigneeNeurosciences Research Foundation, Inc.
InventorsJames A. Snook, Richard W. Schermerhorn
Life of this patent
Estimating the term…
Abstract
A special purpose processor (SPP) can use a Field Programmable Gate Array (FPGA) to model a large number of neural elements. The FPGAs or similar programmable device can have multiple cores doing presynaptic, postsynaptic, and plasticity calculations in parallel. Each core can implement multiple neural elements of the neural model.
Claims10
A special purpose processor for implementing a synthetic neural model of the biological anatomy of selected areas of a human brain, in which the synthetic neural model models neural elements of selected neuronal areas of the brain, each of the neural elements having a plurality of pre-synaptic inputs and a post-synaptic output, said special purpose processor comprising:
- a) a plurality of neural processing units, each one being associated with a plurality of the neural elements, each of said neural processing units having:
- (1) a first local memory for storing information corresponding respectively to each of the plurality of neural elements associated with said one neural processing unit, said information including data identifying different parameters of said one neural element, including (i) a static element description of a number of inputs to said neural element, (ii) a static synaptic description of a plasticity mode of a synapse associated with said neural element, (iii) dynamic synaptic weight variables of pre-synaptic input connections associated with said neural element, and (iv) dynamic input values for respective pre-synaptic inputs of said neural element;
- and
- (2) a programmed processor for processing and performing calculations on the dynamic synaptic weight variables and the dynamic input values, wherein said processor, in response to receiving respective dynamic weight variables and respective dynamic input values for respective pre-synaptic inputs of one of said neural elements, calculates an updated post-synaptic output activity datum for said one neural element;
- (b) an output storage table for storing post-synaptic output activity data of each of said plurality of neural elements;
- (c) a data loader for loading the information into said local memory for each said one neural element and for loading said post-synaptic output activity data of each said neural element into said output storage table;
- (d) a second memory for storing data records of the neural elements and pointers to said output storage table, respectively, for each of said neural elements, said data records including data identifying the synaptic connections of each said neural element to other of said neural elements;
- (e) an address controller for providing addresses to each of said neural processing units to store the information and transfer said post-synaptic activity output data from said output storage table into said first local memory;
- and
- (f) wherein said data controller functions to access said data records for reading said pointers to said output storage table to enable said output storage table to output said post-synaptic output activity data for use as an input to and processing by said neural processing unit.
A special purpose processor for implementing a synthetic neural model of the biological anatomy of the human brain to control a brain-based device (BBD) movable in a real world environment, in which the synthetic neural model and processing by the special purpose processor are based on biological principles of the human brain, comprising:
- (a) a plurality of neural processing units, each one of said neural processing units having (1) a processor, and (2) a local memory, in which
- (1) said processor of said one neural processing unit processes data corresponding to a plurality of distinct neural elements, and in which each of said plurality of distinct neural elements has a plurality of pre-synaptic inputs received from other neural elements and an output providing post-synaptic output activity data to be sent to other neural elements;
- and
- (2) said local memory stores a plurality of data records, each one of said data records having data corresponding to one of said neural elements of said one of said neural processing units, in which said data of said one data record stores (i) a synaptic connection table defining synaptic connections between one of said neural elements and other of said neural elements, (ii) a current weight data table having weight data corresponding to each said synaptic connection through which said one neural element receives an input, and (iii) an output storage table having post-synaptic output activity data resulting from processing by said one neural processing unit and provided on said output;
- (b) first system memory storing an output storage table having post-synaptic output activity data corresponding to each said output of each said neural element of each of said plurality of neural processing units;
- (c) second system memory for storing respective data records for each of said plurality of neural elements for each of said plurality of neural processing units, each of said data records having address pointers to said first system memory to access and output post-synaptic output activity data stored in said output storage table;
- (d) a finite state machine for controlling writing of the post-synaptic output activity data into said output storage table from said plurality of neural processing units and for reading the post-synaptic output activity data stored in said output storage table in response to said address pointers from said second system memory;
- (e) a system data bus for transferring data between said plurality of neural processing units and said first system memory and said second system memory;
- (f) sensors for receiving and providing sensed data corresponding to the real-world environment in which the BBD moves, wherein said plurality of neural processing units process said sensed data to calculate said weight data;
- and
- (g) actuators, responsive to the data processed by said plurality of neural processing units, for controlling movement of the BBD in the real-world environment.
Dependencies are inferred from the claim text.