WO2020134824A1 - Brain-like computing system - Google Patents

Brain-like computing system Download PDF

Info

Publication number
WO2020134824A1
WO2020134824A1 PCT/CN2019/121453 CN2019121453W WO2020134824A1 WO 2020134824 A1 WO2020134824 A1 WO 2020134824A1 CN 2019121453 W CN2019121453 W CN 2019121453W WO 2020134824 A1 WO2020134824 A1 WO 2020134824A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
brain
neural network
data
coprocessor
Prior art date
Application number
PCT/CN2019/121453
Other languages
French (fr)
Chinese (zh)
Inventor
施路平
王冠睿
裴京
吴臻志
赵琦
Original Assignee
北京灵汐科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 北京灵汐科技有限公司 filed Critical 北京灵汐科技有限公司
Publication of WO2020134824A1 publication Critical patent/WO2020134824A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Definitions

  • the invention relates to the field of artificial intelligence computing, in particular to a brain-like computing system.
  • the 2011 International Semiconductor Technology Development Guide pointed out that one of the effective strategies to solve the above challenges is to use the brain-like computing technology developed by the human brain.
  • the human brain with 1011-level neurons and 1015-level plastic synaptic connections, with a volume of only 2 liters, has parallel computing, strong robustness, plasticity and fault tolerance that are unmatched by existing computer architectures, and its energy consumption Only on the order of 10 watts.
  • a neural network is composed of a large number of neurons. Although the structure and behavior of a single neuron is relatively simple, it can show a wealth of network processing functions by learning rules. This network structure is different from the traditional computer processing method. Through the distributed storage and parallel collaborative processing of information, only the basic learning rules can be defined to simulate the adaptive learning process of the brain. It has advantages when formalizing problems.
  • brain-like computing technology There are two main ways to implement brain-like computing technology: one is to use software algorithms to simulate parallel distributed brain-like computing neural networks on the existing computer architecture, and the other is to use large-scale integrated analog, digital or digital-analog hybrid Circuit and software system to achieve.
  • a computer structure that can perform artificial intelligence tasks is built based on CPU+GPU. As shown in FIG. 1, the CPU, GPU, storage unit, and external interface are all connected to the bus. Among them, the GPU is expensive and consumes a lot of energy. Because it is not specifically optimized for neural network tasks, the calculation efficiency may not be very high when processing different tasks, and the calculation efficiency gap may be very large.
  • artificial general intelligence also known as strong artificial intelligence, which is the ultimate goal in most areas of artificial intelligence research.
  • researchers have been continually striving toward this goal through continuous exploration of software and hardware design.
  • two different technical solutions are gradually formed, they are the artificial neural network method and the impulsive neural network method.
  • Artificial neural networks are inadequate in processing sequence information, low-power event-driven response, and real-time issues; impulsive neural networks are inadequate in precise calculations and large data-intensive calculations. In scenarios that require precise numerical processing and fast response at the same time, no single computing system can meet the computing requirements.
  • the present invention proposes a brain-like computing system that combines an arithmetic/logical operation and control unit and a brain-like co-processing unit to use arithmetic/logical operation and control
  • the flexible programming and configuration of the unit to the brain-like co-processing unit realizes low-latency continuous execution of computing tasks and real-time response to the task; at the same time, by controlling the brain-like co-processing unit to efficiently divide the labor to perform artificial neural network calculations and impulsive neural network calculations, it can Achieve higher computing efficiency when processing different tasks in general artificial intelligence computing.
  • the technical solutions adopted by the present invention include:
  • the present invention relates to a brain-like computing system, which is characterized by including arithmetic/logical operation and control unit, brain-like co-processing unit, storage unit, external interface, and bus connecting each unit and external interface; the arithmetic/logical operation and The control unit is used to program and configure the brain-like co-processing unit, perform arithmetic operations or logical operations, and control the operation and data exchange of the other units through the bus; the brain-like co-processing unit has artificial neural network processing Function and pulse neural network processing function, used to perform artificial neural network calculation and pulse neural network calculation according to the instructions of the arithmetic/logic operation and control unit, and save the calculation result to the storage unit; the external interface, use To provide interactive information between the brain-like computing system and the external environment.
  • the brain-like computing system technical solution described in the present invention is used for general artificial intelligence calculation
  • the heterogeneous brain-like computer computing structure constructed includes both suitable for performing arithmetic operations/logical calculation tasks
  • the arithmetic/logic operation and control unit of the traditional microprocessor of the United States uses the arithmetic/logic operation and control unit to flexibly program and configure the brain-like co-processing unit to achieve low-latency continuous execution of calculation tasks and corresponding real-time tasks; also Including the brain-like co-processing unit specifically for artificial intelligence computing, forming a heterogeneous fusion brain-like computing structure that can support the brain-like co-processing unit of high-efficiency artificial neural network and impulsive neural network calculation, which can efficiently divide the labor to perform artificial neural network calculation and Pulse neural network computing can handle different tasks in general artificial intelligence computing and achieve higher computing efficiency.
  • the brain-like co-processing unit includes an interface module connected to the bus and a brain-like co-processor component connected to the interface module, the brain-like co-processor component includes at least one artificial neural network co-processing And at least one pulse neural network co-processor; or, the brain-like co-processing component includes at least one hybrid co-processor that supports both artificial neural network and pulse neural network computing; or, the brain-like co-processing component includes at least An artificial neural network coprocessor, at least one impulsive neural network coprocessor, and at least one hybrid coprocessor supporting both artificial neural network and impulsive neural network calculations.
  • the present invention As long as the brain-like computing system includes the coprocessor with the artificial neural network processing function and the impulsive neural network processing function, does the present invention have the same coprocessor with the artificial neural network processing function and the impulsive neural network processing function? There is no limitation in one module, and the structure is flexible. In addition, based on the calculation characteristics of the brain-like co-processing unit and the data access requirements, the present invention designs an interface module that can support the continuous and high-speed execution of the brain-like co-processing unit, so that the brain-like co-processing unit can be realized quickly, efficiently, and conveniently Data exchange with arithmetic/logic operation and control unit, with storage unit, with external interface and with brain-like co-processing unit.
  • the arithmetic/logic operation and control unit composed of traditional microprocessors is used to control the brain-like co-processing unit through the interface module in the brain-like co-processing unit, which can meet the large amount of data interactive transmission between the brain-like co-processing unit and other components Need to achieve low-latency continuous high-speed execution of tasks while reducing the operating power consumption of the entire computing system.
  • the arithmetic/logic operation and control unit is a CPU, GPU, DSP, and/or single-chip microcomputer; the external interface obtains information from the external environment according to instructions of the arithmetic/logic operation and control unit, or When the external environment sends specific data, the brain-like computing system is controlled to perform a corresponding processing procedure, or the operation result of the brain-like computing system is sent to the external environment.
  • each of the coprocessing The device has an extensible interface, a plurality of coprocessors of the same type are connected to each other through the extensible interfaces for data information interactive transmission, and different types of coprocessors perform data information interactive transmission through the interface module. That is to say, each coprocessor has an extensible interface, and a routing interface communication network formed by the extensible interface between multiple coprocessors. Part of the co-processors in multiple pulse neural network co-processors and multiple artificial network co-processors exchange data through the interface module.
  • the artificial neural network coprocessor includes a plurality of parallel artificial neural network computing units, and each of the artificial neural network computing units is connected to each other through an internal bus for interactive data transmission; the artificial neural network computing unit It includes a weight storage unit, a matrix calculation unit, a vector calculation unit and an intermediate value storage unit connected in sequence, the intermediate value storage unit being connected to the matrix calculation unit.
  • the weight storage unit and the intermediate value storage unit are connected to the internal bus through the data bus to exchange data with other artificial neural network calculation units and send the data to the matrix calculation unit for calculation.
  • the matrix calculation unit After receiving the data, the matrix calculation unit performs calculation according to the control signal and The result is sent to the vector calculation unit, and the vector calculation unit performs the corresponding calculation in combination with the control signal and finally transmits the result to the intermediate value storage unit.
  • the impulse neural network coprocessor includes a plurality of impulse neural network computing units that are calculated in parallel and a plurality of routing communication units that are consistent with the number of impulse neural network computing units, and each of the impulse neural network computing units is connected to one The routing communication unit, each of the routing communication units is connected to each other to form an on-chip routing network for interactive transmission of data information;
  • the pulse neural network computing unit includes an axon input unit, a synaptic weight storage unit, a control unit, and a dendrite
  • the calculation unit and the neuron calculation unit, the axon input unit, the synaptic weight storage unit, the control unit and the neuron calculation unit are all connected to the dendrite calculation unit, and the control unit is connected to the axon input unit and the
  • the dendrite calculation unit calculates based on the received axon input unit data and the data transmitted by the synaptic weight storage unit and sends the results to the neuron calculation unit for further calculations. Finally, the results are sent to other impulsive neural networks through the routing communication unit Computing unit for data interaction.
  • each coprocessor of the brain-like coprocessor component switches between a calculation state and a low-power idle state according to the logic of the interface module and its own running state. In this way, the corresponding coprocessor can be awakened for calculation every time a new task to be processed arrives.
  • the coprocessor processing completes the current calculation task and the next calculation task has not been allocated, the coprocessor is in low-power idle State, so as to realize the event-driven working characteristics of the corresponding coprocessor and reduce the overall energy consumption of the computing system.
  • the interface module includes a data temporary storage unit, an instruction temporary storage unit, a data format conversion unit, and a coprocessor interface unit;
  • the data temporary storage unit includes several sets of storage intervals, and the number of the storage intervals and the interface
  • the number of coprocessors connected to the module is the same, and is used to temporarily store data exchange between each coprocessor and the storage unit, data exchange between each coprocessor and external interface, and data exchange between each coprocessor
  • the instruction temporary storage unit has a first-in first-out storage structure, which is used to temporarily store a plurality of instructions that need to be executed from the arithmetic/logic operation and control unit.
  • the storage interval includes a first input temporary storage, a second input temporary storage, and an output temporary storage.
  • the first input temporary storage and the second input temporary storage alternately perform receiving data from the bus and sending the temporary storage data to Two tasks of the coprocessor, the output temporarily stores the data processed by the coprocessor to a storage unit, an external interface, or another coprocessor. Therefore, the data temporary storage unit has the characteristics of ping-pong operation.
  • the working status of the two input temporary storages is switched according to the instructions of the arithmetic/logic operation and control unit, or the judgment logic of the brain-like co-processing unit itself, so that the data can be processed with low latency It is sent to the brain-like co-processing unit, which also ensures that the neural network co-processor can achieve fast data acquisition when it needs to process data in several different time steps.
  • the data temporary storage unit in the interface module alternately uses two input temporary storages to form a ping-pong operation for data transmission of the brain-like coprocessor, which greatly improves the data processing efficiency of the brain-like coprocessor.
  • the coprocessor interface unit includes an address connected to the pulse neural network coprocessor- An event encoding and decoding unit and a numerical input and output unit connected to the artificial neural network coprocessor, the address-event encoding and decoding unit and the numerical input and output unit are connected to each other to transmit data through the data format conversion unit,
  • the data format conversion unit performs format conversion between the artificial neuron quantity value information and the pulse neuron event packet information.
  • the numerical input/output unit and the data format conversion unit are connected to the bus through the data temporary storage unit for data interaction, and the command temporary storage unit is directly connected to the bus for data interaction and co-processing the pulse neural network coprocessor and the artificial neural network
  • the controller sends control instructions.
  • the destination address of each brain-like co-processing unit is pre-allocated by the arithmetic/logic operation and control unit, and when the brain-like co-processing units require data interaction At this time, the brain-like co-processing unit assigned to the first destination address sends data to the brain-like co-processing unit corresponding to the second destination address by identifying the second destination address.
  • the first destination address brain co-processing unit sends the data to the storage unit, and the The arithmetic/logic operation and control unit selects a specific time to instruct the second destination address type brain co-processing unit to read and process the data from the storage unit.
  • the brain-like co-processing unit responds to data from the external interface according to the first priority, processes data from other brain-like co-processing units according to the second priority, and processes from the storage unit according to the third priority The data.
  • the high-priority input is writing data to the data temporary storage unit
  • the low-priority input waits until the high-priority input is written before continuing to write, so that the brain-like co-processing unit can be ordered and efficiently The received data is processed in response.
  • the brain-like co-processing unit reads the data/configuration data from the corresponding position of the storage unit according to the data reading/configuration instruction issued by the arithmetic/logical operation and control unit; the sending of the data reading/configuration instruction
  • the process is a broadcast mode sent to all brain-like co-processing units, or a multicast mode sent to multiple designated brain-like co-processing units, or a single mode sent to a single designated brain-like co-processing unit.
  • Broadcast mode the storage unit sends data to the storage area of all computing units in the artificial neural network/pulse neural network coprocessor; multicast mode: the storage unit sends data to the artificial neural network/pulse neural network coprocessor In the storage area of multiple designated computing units; single mode: the data transmitted by the storage unit is sent to the storage area of a designated computing unit in the artificial neural network/pulse neural network coprocessor.
  • the broadcast mode can be completed in one configuration, while the multicast mode and single mode determine whether to continue to configure other computing units in the brain-like co-processing unit according to the needs of the computing task. Use the multiple transmission methods of broadcast mode, multicast mode, and single mode to achieve efficient management configuration of multiple brain-like co-processing units.
  • FIG. 1 is a schematic structural diagram of an existing computing system.
  • FIG. 2 is a schematic diagram of the first embodiment of the present invention.
  • FIG. 3 is a schematic diagram of a second embodiment of the present invention.
  • FIG. 4 is a schematic diagram of a third embodiment of the present invention.
  • FIG. 5 is a schematic diagram of a fourth embodiment of the present invention.
  • FIG. 6 is a schematic diagram of a preferred structure of the data temporary storage unit of the present invention.
  • FIG. 8 is a schematic diagram of a preferred structure of the interface module of the present invention.
  • FIG. 9 is a flowchart of a data reading/configuration instruction sending mode of the present invention.
  • FIG. 10 is a schematic diagram of a preferred structure of the artificial neural network coprocessor of the present invention.
  • FIG. 11 is a schematic diagram of a preferred structure of the pulse neural network coprocessor of the present invention.
  • FIG. 2 is a schematic diagram of a first embodiment of the present invention.
  • the system includes an arithmetic/logic operation and control unit, a brain-like co-processing unit, a storage unit, an external interface, and a bus connecting these units and the external interface .
  • the arithmetic/logical operation and control unit is used to program and configure the brain-like co-processing unit to perform general-purpose calculations (preferably including logical operations and arithmetic calculations such as selection, branching, and judgment), while controlling the other units through the bus Operation and data exchange; brain-like co-processing unit with artificial neural network processing function and impulsive neural network processing function, used to perform artificial neural network calculation and/or impulsive neural network calculation according to the instructions of arithmetic/logic operation and control unit, also That is, it is used for general neural network calculations (including artificial neural network calculations such as MLP, CNN, RNN, and impulse neural network calculations), and performs neural network calculations by receiving data from the storage unit according to the instructions of arithmetic/logic operations and control units, and Save the calculation results to the storage unit; the storage unit is used to provide storage space, which can save the system communication calculation program data, neural network configuration parameters, intermediate exchange data, etc.; the external interface is used to provide the brain-like computing system and the external environment Interactive information, which can
  • the brain-like co-processing unit includes an interface module connected to the bus and a brain-like co-processor component connected to the interface module, the brain-like co-processor component may include at least one artificial neural network co-processor and at least A pulse neural network coprocessor.
  • the computing system includes a brain-like co-processing unit, which includes a combination of an artificial neural network co-processor and a pulse neural network co-processor, and is connected to the bus through an interface module. Perform interactive data transmission.
  • the brain-like co-processing unit includes an interface module connected to the bus and a brain-like co-processing connected to the interface module Component, but the brain-like co-processor component of the brain-like co-processing unit in the second embodiment includes a hybrid co-processor that supports both artificial neural network and impulse neural network calculations, and is connected to the bus through an interface module, Perform interactive data transmission.
  • the brain-like co-processor component of the brain-like co-processing unit may also include at least two or more hybrid co-processors that simultaneously support artificial neural network and impulse neural network calculations.
  • FIG. 4 is a schematic diagram of a third embodiment of the present invention.
  • the computing system includes multiple brain-like co-processing units, and each brain-like co-processing unit is separately connected to a bus for data interactive transmission.
  • the brain-like co-processor component of the brain-like co-processing unit may be a combination of at least one artificial neural network co-processor and at least one pulse neural network co-processor as described in the first embodiment, or may be as
  • the second embodiment includes at least one hybrid coprocessor that supports both artificial neural network and impulse neural network calculations, and may also include at least multiple artificial neural network coprocessors or at least multiple impulse neural network coprocessors.
  • any combination of artificial neural network coprocessor or impulse neural network coprocessor and at least one hybrid coprocessor that supports both artificial neural network and impulse neural network calculations is included in the system.
  • the system includes a coprocessor with artificial neural network processing function and impulse neural network processing function, whether the coprocessor with artificial neural network processing function and impulse neural network processing function is in the same module , Not limited.
  • each coprocessor preferably has expandability Interface, multiple coprocessors of the same kind are connected to each other through their extensible interfaces for data information interactive transmission, and different types of coprocessors carry out data information interactive transmission through the interface module.
  • FIG. 5 a schematic diagram of a fourth embodiment of the present invention.
  • the computing system includes a brain-like co-processing unit, and the brain-like co-processor component of the brain-like co-processing unit includes multiple artificial nerves.
  • the network coprocessor and multiple impulse neural network coprocessors, the artificial neural network coprocessor and the impulse neural network coprocessor can be connected to each other through the interface module for data exchange, and the same kind of coprocessor can be expanded through its own The interfaces are connected to each other for data exchange.
  • the interface module preferably includes a data temporary storage unit.
  • the data temporary storage unit includes several sets of storage intervals. The number of the storage intervals is the same as the number of coprocessors connected to the interface module.
  • the data temporary storage unit performs various co-operations through the storage intervals. The temporary storage of data exchanged between the processor and the storage unit, the temporary storage of data exchanged between each coprocessor and the external interface, and the temporary storage of data exchanged between each coprocessor. among them,
  • the artificial neural network coprocessor and the impulsive neural network coprocessor have the characteristics of parallel computing, and the calculation of multiple neurons is performed simultaneously in one operation, so the amount of data that needs to be input each time is large.
  • the data transfer from the storage unit to the interface module can be realized through direct memory access (DMA, Direct Memory Access) in advance to reduce the delay caused by data exchange during the operation of the brain-like co-processing unit.
  • DMA Direct Memory Access
  • the output and intermediate data of the artificial neural network coprocessor and impulse neural network coprocessor are also stored in the data temporary storage unit first, and then the data is exchanged through the bus and the storage unit.
  • the corresponding data will be directly sent to the interface module for temporary storage.
  • the temporarily stored data reaches the preset value, it will stimulate arithmetic/logical operations and
  • the control unit sends instructions or through the interface module's own logic to activate the brain-like co-processing unit to process the data.
  • the destination address information in the brain-like co-processing unit pre-configured according to the arithmetic/logic operation and control unit will be sent to the corresponding The data storage unit of the brain-like co-processing unit is waiting for processing.
  • the brain-like co-processing unit When the data of the brain-like co-processing unit waits for a period of time before being processed, the brain-like co-processing unit sends its output data to the storage unit, after which the arithmetic/logical operations and The control unit will send instructions to another type of brain co-processing unit at a specific time according to the calculated or preset information to read data from the storage unit for processing.
  • the priority of the response is: external interface input> other brain-like co-processing unit> storage unit, that is, the brain-like co-processing unit according to the first priority
  • the data from the external interface is processed in response
  • the data from other brain co-processing units is processed in response to the second priority
  • the data from the storage unit is processed in response to the third priority.
  • the high-priority input is writing data to the data temporary storage unit
  • the low-priority input waits until the high-priority input write is completed before continuing to write.
  • the data temporary storage unit has the characteristics of ping-pong operation, corresponding to each brain-like coprocessor component (artificial neural network coprocessor or impulse neural network coprocessor), with a set of two storage intervals, when one of them When it is in the state of receiving data from the bus, the other is in the state of sending its temporarily stored data to the brain-like co-processing unit for processing.
  • 6 is a schematic diagram of a data temporary storage unit.
  • the data temporary storage unit includes a first input temporary storage, a second input temporary storage, and an output temporary storage. The first input temporary storage and the second input temporary storage are alternately executed to receive data from the bus.
  • the output temporary storage outputs the data processed by the coprocessor to a storage unit, an external interface, or another coprocessor.
  • the working status of the two input temporary storages is switched according to the instructions of the arithmetic/logic operation and control unit, or the judgment logic of the brain-like co-processing unit itself, so that the data can be sent to the brain-like co-processing unit with low latency. It ensures that the neural network coprocessor can achieve fast data acquisition when it needs to process data in several different time steps.
  • the data temporary storage unit switches the ping-pong state to receive new data, and judges whether the amount of data received by the data temporary storage unit has reached the set value, and judges each when the set value is reached. Whether the coprocessor has processed the previous data and is in the idle state. If it is in the idle state, the data is sent to the coprocessor component for calculation according to the preset timing. After the data is sent, the ping-pong unit switches the read and write state. The data The temporary storage unit determines whether there is still data to be sent to the corresponding coprocessor for processing.
  • the corresponding coprocessor can be awakened for calculation every time a new task to be processed arrives.
  • the coprocessor processing completes the current calculation task and downloads
  • the coprocessor is in an idle state with low power consumption, so as to realize the event-driven working characteristics of the corresponding coprocessor and reduce the overall energy consumption of the computing system.
  • the interface module also includes an instruction temporary storage unit, a data format conversion unit, and a coprocessor interface unit, in which the instruction temporary storage
  • the unit has a FIFO (first-in-first-out, first-in-first-out) storage structure.
  • the coprocessor interface unit includes an address-event (AER) encoding/decoding unit connected to the pulse neural network coprocessor and a numerical input/output unit connected to the artificial neural network coprocessor, AER encoding/decoding
  • the unit and the numerical input/output unit are connected to each other through the data format conversion unit to transmit data.
  • the numerical input/output unit and the data format conversion unit are connected to the bus through the data temporary storage unit for data interaction, and the command temporary storage unit is directly connected to the bus for data interaction And send control instructions to the pulse neural network coprocessor and the artificial neural network coprocessor.
  • the interface module communicates with the AER encoding/decoding unit and the pulse neural network coprocessor using the AER notation coding method, and transmits the nerves in the pulse neural network coprocessor through the form of discrete event packets (ie, pulse neuron event packets).
  • the output pulse of the neuron, the pulse neuron event packet contains the target address of the pulse information, when the pulse neural network coprocessor outputs a pulse neuron event packet, it means that it transmits a pulse to the destination address, if the pulse coprocessor At a certain moment, no pulse is generated in the calculation result, and no pulse neuron event packet is output.
  • the AER encoding/decoding unit is used to analyze the routing information in the pulse neuron event package when receiving the output of the pulse neural network coprocessor, and to package the routing information when sending the input to the pulse neural network coprocessor.
  • the interface module and the artificial neural network coprocessor directly and continuously transmit the number of multiple artificial neurons in batches.
  • the numerical input/output unit is used to receive continuous numerical values from the artificial neural network and store the data in the corresponding area of the data temporary storage unit, and to read from the corresponding position of the data temporary storage unit when sending data to the artificial neural network subsystem Get the data and send it.
  • the data format conversion unit is used for format conversion of input and output data of the artificial neural network coprocessor and the pulse neural network coprocessor.
  • Data format conversion unit when the artificial neuron information is input into the pulse neural network coprocessor, the artificial neuron quantity value information with a certain precision is converted into the pulse neuron event package information; the pulse neuron information is input into the artificial neural network co-processing When converting, the pulse neuron event package is converted into artificial neuron quantity value information with a certain accuracy. That is to say, the data format conversion unit performs format conversion between the artificial neuron quantity value information and the pulse neuron event packet information.
  • the different interface encoding methods described above can use the same physical carrier and physical transmission protocol during transmission.
  • the arithmetic/logical operation and control unit of the brain-like computing system of the present invention is preferably a microprocessor that traditionally executes general-purpose programs, including but not limited to: CPU, GPU, DSP, single-chip microcomputer, and the like.
  • the storage unit is a computer-readable storage medium, which may be, but not limited to, electronic, magnetic, optical, electromagnetic, infrared or volatile, non-volatile semiconductor system, device or device, or the aforementioned Any suitable combination.
  • a more specific example (not an exhaustive list) of computer-readable storage media will include the following: electrical connection with one or more wires, floppy disk for portable computer, hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), non-easy memory (NVM) such as phase change memory (PCM) and resistive memory (RRAM), optical storage device, magnetic storage device, or any suitable combination of the foregoing.
  • a computer-readable storage medium may be any tangible medium that can contain or store a program used by or in conjunction with an instruction execution system, device, or device.
  • the arithmetic/logic operation and control unit executes algorithms and functions other than neural networks in artificial general intelligence (such as necessary operations in machine learning algorithms such as data preprocessing, branch loop logic control), and it is responsible for sending to the artificial neural network Configuration instructions and other operation instructions.
  • artificial general intelligence such as necessary operations in machine learning algorithms such as data preprocessing, branch loop logic control
  • the arithmetic/logic operation and control unit sends instructions to the brain-like co-processing unit
  • the arithmetic/logic operation and control unit (referred to as the control unit) performs algorithms and functions other than neural networks in artificial general intelligence (such as data preprocessing, branch loop logic control and other necessary operations in machine learning algorithms), and it is responsible for sending Instructions for configuring the artificial neural network and other operation instructions, including but not limited to updating the configuration of the brain-like co-processing unit, changing the operating state of the co-processing co-processing unit, and reading the operating state of the co-processing unit, etc.
  • the instruction information sent by the control unit to the brain-like co-processing unit is stored in an instruction temporary storage unit with a FIFO storage structure, and is executed after the brain-like co-processor processes the previous instruction.
  • Arithmetic/logical operation and control unit update configuration data to brain-like co-processing unit
  • the configuration instruction is first sent to the brain-like co-processing unit to make the brain-like co-processing unit enter the corresponding configuration mode, and then the brain-like co-processing unit and the storage unit perform data
  • the corresponding configuration data is obtained from the storage unit, and the address of the configuration data in the storage unit is given by the configuration instruction.
  • the configuration mode is divided into broadcast mode, multicast mode and single mode.
  • FIG. 9 is a flow chart of a data reading/configuration instruction sending mode of the present invention, including a broadcast mode sent to all brain-like co-processing units, a multicast mode sent to multiple designated brain-like co-processing units, or a single designated class Single mode of brain co-processing unit.
  • the storage unit sends data to the storage area of all computing units in the artificial neural network/pulse neural network coprocessor.
  • the control unit sends a broadcast transfer instruction to the brain-like co-processing unit, and the brain-like co-processing unit reads data from the storage unit once, and the data is sent to all computing units.
  • Multicast mode the storage unit sends data to the storage area of multiple specified computing units in the artificial neural network/pulse neural network coprocessor.
  • the control unit sends multicast transmission to the brain-like co-processing unit Instruction, the brain-like co-processing unit reads data from the storage unit once, and the data is sent to multiple corresponding computing units.
  • the data transmitted by the storage unit is sent to the storage area of a designated computing unit in the artificial neural network/pulse neural network coprocessor.
  • the control unit sends the first transmission to the brain-like co-processing unit Instruction, the brain-like co-processing unit reads the data from the storage unit once, and sends the data to a corresponding calculation unit.
  • the broadcast mode can be completed in one configuration, while the multicast mode and single mode determine whether to continue to configure other computing units in the brain-like co-processing unit according to the needs of the computing task, and return to control when it is necessary to continue to configure other computing units
  • the unit needs to send data reading/configuration instructions to the brain-like co-processing unit.
  • the brain-like coprocessor component in the present invention preferably includes an artificial neural network coprocessor and a pulse neural network coprocessor, both of which are dedicated hardware circuit structures.
  • Artificial neural network coprocessor used to transmit and process data with a certain accuracy (higher data accuracy than pulse neural network coprocessor) in artificial neural network, to achieve high-density parallel computing
  • the artificial neural network coprocessor includes a plurality of artificial neural network computing units in parallel calculation, and each artificial neural network computing unit is connected to each other through an internal bus for interactive data transmission; the artificial neural network computing unit includes sequentially connected weight storage Unit, matrix calculation unit, vector calculation unit and intermediate value storage unit, the intermediate value storage unit is also connected to the matrix calculation unit, the weight storage unit and the intermediate value storage unit are connected to the internal bus through the data bus to communicate with other artificial neural network calculation units
  • the data is sent to the matrix calculation unit for calculation. After receiving the data, the matrix calculation unit performs calculation according to the control signal and sends the result to the vector calculation unit.
  • the vector calculation unit combines the control signal to perform the corresponding calculation and finally transmits the result to the middle. Value storage unit.
  • the pulse neural network coprocessor is used to process input information with sparseness, dynamic data flow, rich timing information, and one or more features of discrete pulse input.
  • the impulse neural network coprocessor includes multiple parallel computing impulse neural network computing units and multiple routing communication units consistent with the number of impulse neural network computing units.
  • Each impulsive neural network computing unit is connected to a routing communication unit, each The routing communication units are connected to each other to form an on-chip routing network for data information interactive transmission; the impulse neural network computing unit includes an axon input unit, a synaptic weight storage unit, a control unit, a dendrite computing unit, and a neuron computing unit.
  • the axon input unit receives data from the routing communication unit and sends it to the dendrite calculation unit.
  • the axon input unit, synapse weight storage unit, control unit and neuron calculation unit are all connected to the dendrite calculation unit, and the control unit is connected to the axon input respectively.
  • the unit and the neuron calculation unit, the dendrite calculation unit calculates based on the received axon input unit data and the data transmitted by the synaptic weight storage unit and sends the result to the neuron calculation unit for further calculation, and finally the result is communicated by routing
  • the unit is sent to other impulsive neural network computing units for data interaction.
  • the destination address of each brain-like co-processing unit is pre-allocated by the arithmetic/logic operation and control unit.
  • the brain-like co-processing unit assigned to the first destination address sends data to the brain-like co-processing unit corresponding to the second destination address by identifying the second destination address.
  • the first destination address brain co-processing unit sends the data to the storage unit, and the arithmetic/logic The operation and control unit selects a specific time and instructs the second destination address type brain co-processing unit to read and process the data from the storage unit.
  • the brain-like computing system of the present invention is essentially a heterogeneously combined brain-like computer structure, which uses an arithmetic/logic operation and control unit composed of traditional microprocessors, which can support efficient artificial neural network and impulsive neural network computing classes
  • Brain co-processing units work together to divide and perform tasks efficiently in general artificial intelligence computing.
  • the system facilitates the use of brain-like co-processing units in actual application scenarios.
  • the arithmetic/logic operation and control unit composed of traditional microprocessors can realize flexible programming and configuration of brain-like co-processors, which can be real-time online Change the tasks handled by the brain-like coprocessor.
  • an interface module that can support the continuous high-speed execution of the brain-like co-processing unit is preferably designed.
  • the logic and its own operating state are switched between the computing state and the low-power idle state, making it possible to quickly, efficiently, and conveniently implement the brain-like co-processing unit and the arithmetic/logic operation and control unit, and the storage unit, and the external interface and Data exchange between brain-like co-processing units reduces the operating power consumption of the entire system.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Neurology (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)
  • Advance Control (AREA)

Abstract

A brain-like computing system, comprising an arithmetic/logical operation and control unit, a brain-like coprocessing unit, a memory unit, an external port, and a bus connecting the various units and the external port. The arithmetic/logical operation and control unit is used to perform programming and configuration on the brain-like coprocessing unit, execute arithmetic operations or logical operations, and control the running and data exchange of the other units by means of the bus. The brain-like coprocessing unit is provided with an artificial neural network processing function and a pulsed neural network processing function, and is used to execute artificial neural network computation and pulsed neural network computation on the basis of instructions from the arithmetic/logical operation and control unit and store a computation result in the memory unit. The present system is able to achieve higher computational efficiency when processing different tasks in general artificial intelligence computation, and achieve real-time response to tasks by means of low-delay continuous execution of computing tasks, while also reducing the energy consumption of computation execution in the whole system.

Description

一种类脑计算系统A brain-like computing system 技术领域Technical field
本发明涉及人工智能计算领域,尤其涉及一种类脑计算系统。The invention relates to the field of artificial intelligence computing, in particular to a brain-like computing system.
背景技术Background technique
自从上世纪四十年代,冯·诺依曼提出采用基于二进制和程序存储的计算机架构以来,计算机依靠电子技术的不断改进和摩尔定律不断微缩发展到今天。依靠顺序执行预定义的代码,通过总线在存储器和处理器间不断调用数据,计算机具有强大的数值处理能力。在此基础上,人们已经开发出各种具有复杂功能的大型软件,广泛用于军事、经济、教育和科研等各个领域,当今世界科技的发展与进步同计算机密不可分。Since the 1940s when von Neumann proposed to adopt a computer architecture based on binary and program storage, computers rely on the continuous improvement of electronic technology and the continuous miniaturization of Moore's Law to today. By relying on the sequential execution of pre-defined codes and the continuous transfer of data between the memory and the processor via the bus, the computer has powerful numerical processing capabilities. On this basis, people have developed a variety of large-scale software with complex functions, which are widely used in military, economic, educational and scientific research fields. The development and progress of science and technology in today's world are inseparable from computers.
大数据信息网络和智能移动设备的蓬勃发展,产生了海量非结构化信息,伴生了对这些信息的高效能处理需求的急剧增长。然而,传统冯·诺依曼计算机在处理上述问题时面临两方面的巨大挑战。一方面是其处理器和存储器分离,由于采用总线通信、同步、串行和集中的工作方式,在处理大型复杂问题时不仅能耗高、效率低,而且由于其面向数值计算的特性,使其在处理非形式化问题时软件编程复杂度高,甚至无法实现。另一方面,其主要遵循摩尔微缩定律增加密度、降低成本和提高性能,预计在未来10到15年内微缩将抵达其物理极限,靠物理微缩这一手段难以进一步提高能效,其发展必将受到根本性限制。The vigorous development of big data information networks and smart mobile devices has produced massive amounts of unstructured information, accompanied by a sharp increase in the demand for efficient processing of this information. However, the traditional von Neumann computer faces two huge challenges when dealing with the above problems. On the one hand, its processor and memory are separated. Due to the use of bus communication, synchronization, serial and centralized working methods, when dealing with large and complex problems, not only high energy consumption and low efficiency, but also because of its numerical computing-oriented characteristics, it When dealing with informal problems, the complexity of software programming is high, and even impossible to achieve. On the other hand, it mainly follows Moore's Law of Miniature to increase density, reduce cost and improve performance. It is expected that in the next 10 to 15 years, microscale will reach its physical limit. It is difficult to further improve energy efficiency by means of physical miniaturization, and its development will be fundamentally affected. Sexual restrictions.
因此,2011年国际半导体技术发展指南中指出了解决上述挑战的有效策略之一是借鉴人脑发展的类脑计算技术。拥有1011量级的神经元和1015量级的可塑突触连接、体积仅为2升的人脑具有现有计算机架构无法比拟的并行计算、强鲁棒性、可塑性和容错能力,而其能耗仅为10瓦量级。神经网络由大量神经元构成,虽然单个神经元结构和行为比较简单,但通过一定地学习规则却能呈现出丰富的网络处理功能。这种网络结构不同于传统的计算机处理方式,通过信息的分布式存储和并行协同处理,只需定义基本的学习规则即可模拟出大脑的自适应学习过程,不需明确的编程,处理一些非形式化问题时具有优势。Therefore, the 2011 International Semiconductor Technology Development Guide pointed out that one of the effective strategies to solve the above challenges is to use the brain-like computing technology developed by the human brain. The human brain with 1011-level neurons and 1015-level plastic synaptic connections, with a volume of only 2 liters, has parallel computing, strong robustness, plasticity and fault tolerance that are unmatched by existing computer architectures, and its energy consumption Only on the order of 10 watts. A neural network is composed of a large number of neurons. Although the structure and behavior of a single neuron is relatively simple, it can show a wealth of network processing functions by learning rules. This network structure is different from the traditional computer processing method. Through the distributed storage and parallel collaborative processing of information, only the basic learning rules can be defined to simulate the adaptive learning process of the brain. It has advantages when formalizing problems.
实现类脑计算技术的方法主要有两种:一种是利用软件算法在现有计算机架构上模拟并行分布式类脑计算神经网络,另一种是用大规模集成模拟、数字或数模混合的电路及软件系统来实现。当前基于CPU+GPU来构建可以执行人工智能任务的计算机结构,如图1所示,CPU、GPU、存储单元以及外部接口均与总线连接,其中GPU价格高昂,同时其需要消耗很高的能量,由于其并非是特定对于神经网络任务进行优化,在处理不同任务时计算效率不一定都能达到 很高,计算效率差距可能非常大,这就需要大量算力作为基础才能实现需求的计算能力,导致设备费用和系统运行能耗非常高昂。对于脉冲神经网络等生物启发的人工智能算法,其计算效率很低,因此凭借CPU+GPU的计算结构,由于软件算法实现的类脑计算模型执行载体仍是传统计算机,无法高效的完成人工通用智能的计算任务,其能耗较之人脑的能源效率优化仍有很大差距。而基于硅技术的由神经形态器件实现的类脑计算神经网络能耗较之目前的软件实现办法有显著改善。因此,目前最有效的方法是基于相应硬件进行加速的类脑计算方案。There are two main ways to implement brain-like computing technology: one is to use software algorithms to simulate parallel distributed brain-like computing neural networks on the existing computer architecture, and the other is to use large-scale integrated analog, digital or digital-analog hybrid Circuit and software system to achieve. At present, a computer structure that can perform artificial intelligence tasks is built based on CPU+GPU. As shown in FIG. 1, the CPU, GPU, storage unit, and external interface are all connected to the bus. Among them, the GPU is expensive and consumes a lot of energy. Because it is not specifically optimized for neural network tasks, the calculation efficiency may not be very high when processing different tasks, and the calculation efficiency gap may be very large. This requires a large amount of computing power as the basis to achieve the required computing power, resulting in Equipment costs and system operation energy consumption are very high. For bioinspired artificial intelligence algorithms such as pulse neural networks, the calculation efficiency is very low. Therefore, due to the calculation structure of CPU+GPU, the execution carrier of the brain-like computing model implemented by the software algorithm is still a traditional computer, and it is impossible to efficiently complete artificial general intelligence. Compared with the human brain's energy efficiency optimization, there is still a big gap between the energy consumption of computing tasks. The energy consumption of brain-like computing neural networks based on silicon technology implemented by neuromorphic devices is significantly improved compared to current software implementation methods. Therefore, the most effective method at present is a brain-like computing scheme based on corresponding hardware acceleration.
类脑计算的最终目标是人工通用智能也被称为强人工智能,是大多数人工智能研究领域的终极目标。几十年来,研究人员一直在通过软件和硬件设计上面的不断探索向这一目标不断迈进。在这些探索研究中,两种不同的技术方案逐渐形成,它们分别是人工神经网络方法和脉冲神经网络方法。在人工神经网络计算系统或脉冲神经网络计算系统中,单一的计算系统是对于某一类算法和问题的单独优化,单独的某一神经网络计算范式无法应对的复杂的人工通用人工智能的任务场景。人工神经网络在处理序列信息、低功耗事件驱动响应和实时性问题方面上的能力不足;脉冲神经网络在精确运算、大数据量密集计算上的能力不足。在需要同时进行精确数值处理和快速响应的场景中,任意单一计算系统都无法满足计算要求。The ultimate goal of brain-like computing is artificial general intelligence, also known as strong artificial intelligence, which is the ultimate goal in most areas of artificial intelligence research. For decades, researchers have been continually striving toward this goal through continuous exploration of software and hardware design. In these exploratory studies, two different technical solutions are gradually formed, they are the artificial neural network method and the impulsive neural network method. In artificial neural network computing systems or impulsive neural network computing systems, a single computing system is an individual optimization of a certain type of algorithms and problems, and a single neural network computing paradigm cannot handle complex artificial general artificial intelligence task scenarios. . Artificial neural networks are inadequate in processing sequence information, low-power event-driven response, and real-time issues; impulsive neural networks are inadequate in precise calculations and large data-intensive calculations. In scenarios that require precise numerical processing and fast response at the same time, no single computing system can meet the computing requirements.
发明内容Summary of the invention
为解决现有技术无法高效支撑人工通用智能中复杂场景计算任务的不足,本发明提出一种类脑计算系统,结合算术/逻辑运算和控制单元以及类脑协处理单元,利用算术/逻辑运算和控制单元对类脑协处理单元的灵活编程和配置实现低延迟的连续执行计算任务和对任务的实时性响应;同时通过控制类脑协处理单元高效分工执行人工神经网络计算和脉冲神经网络计算,能够在处理通用人工智能计算中的不同任务时实现较高的计算效率。In order to solve the problem that the existing technology cannot efficiently support the calculation tasks of complex scenes in artificial general intelligence, the present invention proposes a brain-like computing system that combines an arithmetic/logical operation and control unit and a brain-like co-processing unit to use arithmetic/logical operation and control The flexible programming and configuration of the unit to the brain-like co-processing unit realizes low-latency continuous execution of computing tasks and real-time response to the task; at the same time, by controlling the brain-like co-processing unit to efficiently divide the labor to perform artificial neural network calculations and impulsive neural network calculations, it can Achieve higher computing efficiency when processing different tasks in general artificial intelligence computing.
为实现以上目的,本发明所采用的技术方案包括:To achieve the above objectives, the technical solutions adopted by the present invention include:
本发明涉及一种类脑计算系统,其特征在于,包括算数/逻辑运算和控制单元、类脑协处理单元、存储单元、外部接口以及连接各单元和外部接口的总线;所述算术/逻辑运算和控制单元,用于对类脑协处理单元进行编程和配置,执行算数运算或逻辑运算,通过总线控制其它各所述单元的运行和数据交换;所述类脑协处理单元,具有人工神经网络处理功能和脉冲神经网络处理功能,用于根据所述算数/逻辑运算和控制单元的指令执行人工神经网络计算和脉冲神经网络计算,并将计算结果保存到所述存储单元;所述外部接口,用于提供所述类脑计算系统与外界环境的交互信息。该技术方案的有益效果为:采用本发明所述的类脑计算系统技术方案进行通用人工智能计算,构建的异构的类脑计算机计算结构中既包括能够适用于 执行算数运算/逻辑运算计算任务的传统微处理器的算数/逻辑运算和控制单元,利用算术/逻辑运算和控制单元对类脑协处理单元的灵活编程和配置实现低延迟的连续执行计算任务和对任务的实时性相应;也包括专门针对人工智能计算的类脑协处理单元,形成可以支持高效人工神经网络和脉冲神经网络计算的类脑协处理单元的异构融合的类脑计算结构,可以高效分工执行人工神经网络计算和脉冲神经网络计算,能够在处理通用人工智能计算中的不同任务,实现较高的计算效率。The present invention relates to a brain-like computing system, which is characterized by including arithmetic/logical operation and control unit, brain-like co-processing unit, storage unit, external interface, and bus connecting each unit and external interface; the arithmetic/logical operation and The control unit is used to program and configure the brain-like co-processing unit, perform arithmetic operations or logical operations, and control the operation and data exchange of the other units through the bus; the brain-like co-processing unit has artificial neural network processing Function and pulse neural network processing function, used to perform artificial neural network calculation and pulse neural network calculation according to the instructions of the arithmetic/logic operation and control unit, and save the calculation result to the storage unit; the external interface, use To provide interactive information between the brain-like computing system and the external environment. The beneficial effects of this technical solution are: the brain-like computing system technical solution described in the present invention is used for general artificial intelligence calculation, and the heterogeneous brain-like computer computing structure constructed includes both suitable for performing arithmetic operations/logical calculation tasks The arithmetic/logic operation and control unit of the traditional microprocessor of the United States uses the arithmetic/logic operation and control unit to flexibly program and configure the brain-like co-processing unit to achieve low-latency continuous execution of calculation tasks and corresponding real-time tasks; also Including the brain-like co-processing unit specifically for artificial intelligence computing, forming a heterogeneous fusion brain-like computing structure that can support the brain-like co-processing unit of high-efficiency artificial neural network and impulsive neural network calculation, which can efficiently divide the labor to perform artificial neural network calculation and Pulse neural network computing can handle different tasks in general artificial intelligence computing and achieve higher computing efficiency.
进一步地,所述类脑协处理单元包括与所述总线连接的接口模块以及与所述接口模块连接的类脑协处理器组件,所述类脑协处理器组件包括至少一个人工神经网络协处理器和至少一个脉冲神经网络协处理器;或,所述类脑协处理组件包括至少一个同时支持人工神经网络和脉冲神经网络计算的混合协处理器;或,所述类脑协处理组件包括至少一个人工神经网络协处理器、至少一个脉冲神经网络协处理器以及至少一个同时支持人工神经网络和脉冲神经网络计算的混合协处理器。只要在类脑计算系统中同包括具有人工神经网络处理功能和脉冲神经网络处理功能的协处理器即可,本发明对具有人工神经网络处理功能和脉冲神经网络处理功能的协处理器是否在同一个模块中,不做限定,结构灵活。并且本发明基于类脑协处理单元的计算特点和对于数据的访问需求,设计了一个可以支持类脑协处理单元连续高速执行的接口模块,使得可以快速、高效、便捷的实现类脑协处理单元与算术/逻辑运算和控制单元、与存储单元、与外部接口以及在类脑协处理单元之间的数据交换。使用由传统微处理器构成的算术/逻辑运算和控制单元通过类脑协处理单元内的接口模块对类脑协处理单元进行控制可以满足类脑协处理单元与其他组件之间的大量数据交互传输需要,实现低延迟的连续高速执行任务同时降低整个计算系统的运行功耗。Further, the brain-like co-processing unit includes an interface module connected to the bus and a brain-like co-processor component connected to the interface module, the brain-like co-processor component includes at least one artificial neural network co-processing And at least one pulse neural network co-processor; or, the brain-like co-processing component includes at least one hybrid co-processor that supports both artificial neural network and pulse neural network computing; or, the brain-like co-processing component includes at least An artificial neural network coprocessor, at least one impulsive neural network coprocessor, and at least one hybrid coprocessor supporting both artificial neural network and impulsive neural network calculations. As long as the brain-like computing system includes the coprocessor with the artificial neural network processing function and the impulsive neural network processing function, does the present invention have the same coprocessor with the artificial neural network processing function and the impulsive neural network processing function? There is no limitation in one module, and the structure is flexible. In addition, based on the calculation characteristics of the brain-like co-processing unit and the data access requirements, the present invention designs an interface module that can support the continuous and high-speed execution of the brain-like co-processing unit, so that the brain-like co-processing unit can be realized quickly, efficiently, and conveniently Data exchange with arithmetic/logic operation and control unit, with storage unit, with external interface and with brain-like co-processing unit. The arithmetic/logic operation and control unit composed of traditional microprocessors is used to control the brain-like co-processing unit through the interface module in the brain-like co-processing unit, which can meet the large amount of data interactive transmission between the brain-like co-processing unit and other components Need to achieve low-latency continuous high-speed execution of tasks while reducing the operating power consumption of the entire computing system.
进一步地,所述算数/逻辑运算和控制单元为CPU、GPU、DSP和/或单片机;所述外部接口根据所述算术/逻辑运算和控制单元的指令从所述外界环境获取信息,或在所述外界环境发送特定数据时控制所述类脑计算系统执行相应的处理过程,或将所述类脑计算系统的运行结果发送到所述外界环境。Further, the arithmetic/logic operation and control unit is a CPU, GPU, DSP, and/or single-chip microcomputer; the external interface obtains information from the external environment according to instructions of the arithmetic/logic operation and control unit, or When the external environment sends specific data, the brain-like computing system is controlled to perform a corresponding processing procedure, or the operation result of the brain-like computing system is sent to the external environment.
进一步地,当所述类脑协处理器组件包括多个所述人工神经网络协处理器、多个所述脉冲神经网络协处理器或多个所述混合协处理器时,各所述协处理器具有可扩展接口,多个同种类的协处理器通过各自所述可扩展接口互相连接进行数据信息交互传输,不同种类的协处理器通过所述接口模块进行数据信息交互传输。也就是说,各协处理器具有可扩展接口,多个协处理器之间通过可扩展接口构成的路由接口通信网络。多个脉冲神经网络协处理器中的部分协处理器与多个人工网络协处理器通过接口模块进行数据交换。Further, when the brain-like coprocessor component includes a plurality of the artificial neural network coprocessor, a plurality of the pulse neural network coprocessor or a plurality of the hybrid coprocessor, each of the coprocessing The device has an extensible interface, a plurality of coprocessors of the same type are connected to each other through the extensible interfaces for data information interactive transmission, and different types of coprocessors perform data information interactive transmission through the interface module. That is to say, each coprocessor has an extensible interface, and a routing interface communication network formed by the extensible interface between multiple coprocessors. Part of the co-processors in multiple pulse neural network co-processors and multiple artificial network co-processors exchange data through the interface module.
进一步地,所述人工神经网络协处理器包括多个并行的人工神经网络计算单元,各所述人工神经网络计算单元之间通过内部总线互相连接进行数据信息交互传输;所述人工神经网络计算单元包括依次连接的权重存储单元、矩阵计算单元、向量计算单元和中间值存储单元,所述中间值存储单元连接所述矩阵计算单元。权重存储单元与中间值存储单元分别通过数据总线连接内部总线与其他人工神经网络计算单元进行数据交互并将数据发送给矩阵计算单元进行计算,矩阵计算单元接收到数据后根据控制信号进行运算并将结果发送给向量计算单元,再由向量计算单元结合控制信号进行相应计算并最终将结果传输至中间值存储单元。进一步地,所述脉冲神经网络协处理器包括多个并行计算的脉冲神经网络计算单元和与脉冲神经网络计算单元数量一致的多个路由通信单元,每个所述脉冲神经网络计算单元都连接一个所述路由通信单元,各所述路由通信单元之间互相连接形成片上路由网络进行数据信息交互传输;所述脉冲神经网络计算单元包括轴突输入单元、突触权重存储单元、控制单元、树突计算单元和神经元计算单元,所述轴突输入单元、突触权重存储单元、控制单元和神经元计算单元均连接树突计算单元,所述控制单元分别连接所述轴突输入单元和所述神经元计算单元。树突计算单元根据接收到的轴突输入单元数据以及突触权重存储单元传输的数据进行计算并将结果发送给神经元计算单元做进一步运算,最后将结果通过路由通信单元发送至其他脉冲神经网络计算单元以进行数据交互。Further, the artificial neural network coprocessor includes a plurality of parallel artificial neural network computing units, and each of the artificial neural network computing units is connected to each other through an internal bus for interactive data transmission; the artificial neural network computing unit It includes a weight storage unit, a matrix calculation unit, a vector calculation unit and an intermediate value storage unit connected in sequence, the intermediate value storage unit being connected to the matrix calculation unit. The weight storage unit and the intermediate value storage unit are connected to the internal bus through the data bus to exchange data with other artificial neural network calculation units and send the data to the matrix calculation unit for calculation. After receiving the data, the matrix calculation unit performs calculation according to the control signal and The result is sent to the vector calculation unit, and the vector calculation unit performs the corresponding calculation in combination with the control signal and finally transmits the result to the intermediate value storage unit. Further, the impulse neural network coprocessor includes a plurality of impulse neural network computing units that are calculated in parallel and a plurality of routing communication units that are consistent with the number of impulse neural network computing units, and each of the impulse neural network computing units is connected to one The routing communication unit, each of the routing communication units is connected to each other to form an on-chip routing network for interactive transmission of data information; the pulse neural network computing unit includes an axon input unit, a synaptic weight storage unit, a control unit, and a dendrite The calculation unit and the neuron calculation unit, the axon input unit, the synaptic weight storage unit, the control unit and the neuron calculation unit are all connected to the dendrite calculation unit, and the control unit is connected to the axon input unit and the Neuron calculation unit. The dendrite calculation unit calculates based on the received axon input unit data and the data transmitted by the synaptic weight storage unit and sends the results to the neuron calculation unit for further calculations. Finally, the results are sent to other impulsive neural networks through the routing communication unit Computing unit for data interaction.
进一步地,所述类脑协处理器组件的各所述协处理器根据接口模块的逻辑和自身运行状态在计算状态和低功耗空闲状态之间切换。这样可以在每次有待处理的新任务到来时唤醒相应的协处理器进行计算,当协处理器处理完成当前计算任务且下一计算任务还未分配到来时,协处理器处于低功耗的空闲状态,从而实现相应协处理器事件驱动的工作特点,降低计算系统整体能耗。Further, each coprocessor of the brain-like coprocessor component switches between a calculation state and a low-power idle state according to the logic of the interface module and its own running state. In this way, the corresponding coprocessor can be awakened for calculation every time a new task to be processed arrives. When the coprocessor processing completes the current calculation task and the next calculation task has not been allocated, the coprocessor is in low-power idle State, so as to realize the event-driven working characteristics of the corresponding coprocessor and reduce the overall energy consumption of the computing system.
进一步地,所述接口模块包括数据暂存单元、指令暂存单元、数据格式转换单元和协处理器接口单元;所述数据暂存单元包括若干组存储区间,所述存储区间的组数与接口模块所连接的协处理器数量一致,用于暂存各所述协处理器与所述存储单元之间交换数据、各协处理器与外部接口之间交换数据以及各协处理器之间交换数据;所述指令暂存单元具有先入先出存储结构,用于暂存从算数/逻辑运算和控制单元发送的需要执行的多个指令。Further, the interface module includes a data temporary storage unit, an instruction temporary storage unit, a data format conversion unit, and a coprocessor interface unit; the data temporary storage unit includes several sets of storage intervals, and the number of the storage intervals and the interface The number of coprocessors connected to the module is the same, and is used to temporarily store data exchange between each coprocessor and the storage unit, data exchange between each coprocessor and external interface, and data exchange between each coprocessor The instruction temporary storage unit has a first-in first-out storage structure, which is used to temporarily store a plurality of instructions that need to be executed from the arithmetic/logic operation and control unit.
进一步地,所述存储区间包括第一输入暂存、第二输入暂存和输出暂存,所述第一输入暂存和第二输入暂存交替执行从总线接收数据和将暂存数据发送给协处理器两个任务,所述输出暂存将协处理器处理后的数据输出至存储单元、外部接口或另一协处理器。所以数据暂存单元具有乒乓操作的特点,两个输入暂存的工作状态按照算数/逻辑运算和控制单元的指令、或者类脑协处理单元自身的判断逻辑进行切换,使得数据可以低延迟的被送入到类脑协 处理单元,同时也保证了神经网络协处理器在需要分几个不同的时间步处理数据时可以实现快速的数据获取。接口模块内的数据暂存单元通过交替使用两个输入暂存形成对类脑协处理器数据传输的乒乓操作,大大提高了类脑协处理器的数据处理效率。Further, the storage interval includes a first input temporary storage, a second input temporary storage, and an output temporary storage. The first input temporary storage and the second input temporary storage alternately perform receiving data from the bus and sending the temporary storage data to Two tasks of the coprocessor, the output temporarily stores the data processed by the coprocessor to a storage unit, an external interface, or another coprocessor. Therefore, the data temporary storage unit has the characteristics of ping-pong operation. The working status of the two input temporary storages is switched according to the instructions of the arithmetic/logic operation and control unit, or the judgment logic of the brain-like co-processing unit itself, so that the data can be processed with low latency It is sent to the brain-like co-processing unit, which also ensures that the neural network co-processor can achieve fast data acquisition when it needs to process data in several different time steps. The data temporary storage unit in the interface module alternately uses two input temporary storages to form a ping-pong operation for data transmission of the brain-like coprocessor, which greatly improves the data processing efficiency of the brain-like coprocessor.
进一步地,当所述类脑协处理器组件包括有人工神经网络协处理器和脉冲神经网络协处理器时,所述协处理器接口单元包括与所述脉冲神经网络协处理器连接的地址-事件编码解码单元以及与所述人工神经网络协处理器连接的数值量输入输出单元,所述地址-事件编码解码单元与所述数值量输入输出单元通过所述数据格式转换单元相互连接传输数据,所述数据格式转换单元对人工神经元数量值信息和脉冲神经元事件包信息进行格式的相互转换。Further, when the brain-like coprocessor component includes an artificial neural network coprocessor and a pulse neural network coprocessor, the coprocessor interface unit includes an address connected to the pulse neural network coprocessor- An event encoding and decoding unit and a numerical input and output unit connected to the artificial neural network coprocessor, the address-event encoding and decoding unit and the numerical input and output unit are connected to each other to transmit data through the data format conversion unit, The data format conversion unit performs format conversion between the artificial neuron quantity value information and the pulse neuron event packet information.
进一步地,所述数值量输入输出单元与数据格式转换单元通过数据暂存单元连接总线进行数据交互,指令暂存单元直接连接总线进行数据交互并对脉冲神经网络协处理器和人工神经网络协处理器发送控制指令。Further, the numerical input/output unit and the data format conversion unit are connected to the bus through the data temporary storage unit for data interaction, and the command temporary storage unit is directly connected to the bus for data interaction and co-processing the pulse neural network coprocessor and the artificial neural network The controller sends control instructions.
进一步地,当所述计算系统包括多个类脑协处理单元时,由算数/逻辑运算和控制单元预先分配每个类脑协处理单元的目的地址,当类脑协处理单元之间需要数据交互时,分配到第一目的地址的类脑协处理单元通过识别第二目的地址将数据发送至第二目的地址对应的类脑协处理单元。Further, when the computing system includes multiple brain-like co-processing units, the destination address of each brain-like co-processing unit is pre-allocated by the arithmetic/logic operation and control unit, and when the brain-like co-processing units require data interaction At this time, the brain-like co-processing unit assigned to the first destination address sends data to the brain-like co-processing unit corresponding to the second destination address by identifying the second destination address.
进一步地,当所述第二目的地址类脑协处理单元无法及时处理来自第一目的地址类脑协处理单元的数据时,第一目的地址类脑协处理单元将数据发送到存储单元,并由算数/逻辑运算和控制单元选择特定的时刻命令第二目的地址类脑协处理单元从存储单元中读取并处理所述数据。Further, when the second destination address brain co-processing unit cannot process the data from the first destination address brain co-processing unit in time, the first destination address brain co-processing unit sends the data to the storage unit, and the The arithmetic/logic operation and control unit selects a specific time to instruct the second destination address type brain co-processing unit to read and process the data from the storage unit.
进一步地,所述类脑协处理单元按照第一优先级响应处理来自外部接口的数据,按照第二优先级响应处理来自其他类脑协处理单元的数据,按照第三优先级响应处理来自存储单元的数据。当优先级高的输入正在向数据暂存单元写入数据时,优先级低的输入等待直至优先级高的输入写入完成后再继续写入,使得类脑协处理单元能够有序并且高效地响应处理接收的数据。Further, the brain-like co-processing unit responds to data from the external interface according to the first priority, processes data from other brain-like co-processing units according to the second priority, and processes from the storage unit according to the third priority The data. When the high-priority input is writing data to the data temporary storage unit, the low-priority input waits until the high-priority input is written before continuing to write, so that the brain-like co-processing unit can be ordered and efficiently The received data is processed in response.
进一步地,所述类脑协处理单元依据算数/逻辑运算和控制单元发出的数据读取/配置指令从存储单元的相应位置中读取数据/配置数据;所述数据读取/配置指令的发送过程为发送给所有类脑协处理单元的广播模式、或发送给多个指定类脑协处理单元的多播模式、或发送给单一指定类脑协处理单元的单一模式。广播模式:存储单元将数据发送到人工神经网络/脉冲神经网络协处理器中所有的计算单元的存储区域中;多播模式:存储单元将数据发送到人工神经网络/脉冲神经网络协处理器中多个指定的计算单元的存储区域中;单一模式:存储单元所传送的数据发送到人工神经网络/脉冲神经网络协处理器中一个指定的计算单元的存 储区域中。广播模式为一次配置即可完成,而多播模式和单一模式根据计算任务的需要判断是否继续配置类脑协处理单元中的其他计算单元。利用广播模式、多播模式、单一模式的多种发送方式实现对多个类脑协处理单元的高效管理配置。Further, the brain-like co-processing unit reads the data/configuration data from the corresponding position of the storage unit according to the data reading/configuration instruction issued by the arithmetic/logical operation and control unit; the sending of the data reading/configuration instruction The process is a broadcast mode sent to all brain-like co-processing units, or a multicast mode sent to multiple designated brain-like co-processing units, or a single mode sent to a single designated brain-like co-processing unit. Broadcast mode: the storage unit sends data to the storage area of all computing units in the artificial neural network/pulse neural network coprocessor; multicast mode: the storage unit sends data to the artificial neural network/pulse neural network coprocessor In the storage area of multiple designated computing units; single mode: the data transmitted by the storage unit is sent to the storage area of a designated computing unit in the artificial neural network/pulse neural network coprocessor. The broadcast mode can be completed in one configuration, while the multicast mode and single mode determine whether to continue to configure other computing units in the brain-like co-processing unit according to the needs of the computing task. Use the multiple transmission methods of broadcast mode, multicast mode, and single mode to achieve efficient management configuration of multiple brain-like co-processing units.
附图说明BRIEF DESCRIPTION
图1为现有的计算系统的结构示意图。FIG. 1 is a schematic structural diagram of an existing computing system.
图2为本发明第一实施例示意图。2 is a schematic diagram of the first embodiment of the present invention.
图3为本发明第二实施例示意图。FIG. 3 is a schematic diagram of a second embodiment of the present invention.
图4为本发明第三实施例示意图。4 is a schematic diagram of a third embodiment of the present invention.
图5为本发明第四实施例示意图。5 is a schematic diagram of a fourth embodiment of the present invention.
图6为本发明数据暂存单元的优选结构示意图。6 is a schematic diagram of a preferred structure of the data temporary storage unit of the present invention.
图7为本发明协处理器事件驱动工作流程图。7 is a flowchart of the event-driven work of the coprocessor of the present invention.
图8为本发明接口模块的优选结构示意图。8 is a schematic diagram of a preferred structure of the interface module of the present invention.
图9为本发明数据读取/配置指令发送模式流程图。9 is a flowchart of a data reading/configuration instruction sending mode of the present invention.
图10为本发明的人工神经网络协处理器的优选结构示意图。10 is a schematic diagram of a preferred structure of the artificial neural network coprocessor of the present invention.
图11为本发明的脉冲神经网络协处理器的优选结构示意图。11 is a schematic diagram of a preferred structure of the pulse neural network coprocessor of the present invention.
具体实施方式detailed description
为了更清楚的理解本发明的内容,将结合附图和实施例详细说明。In order to understand the content of the present invention more clearly, it will be described in detail with reference to the drawings and embodiments.
本发明涉及一种类脑计算系统,图2为本发明第一实施例示意图,系统包括算数/逻辑运算和控制单元、类脑协处理单元、存储单元、外部接口以及连接这些单元和外部接口的总线。其中算术/逻辑运算和控制单元,用于对类脑协处理单元进行编程和配置,执行通用计算(其中优选包括选择、分支、判断等逻辑运算和算术计算),同时通过总线控制其他各个单元的运行和数据交换;类脑协处理单元,具有人工神经网络处理功能和脉冲神经网络处理功能,用于根据算数/逻辑运算和控制单元的指令执行人工神经网络计算和/或脉冲神经网络计算,也就是说,其用于通用神经网络计算(包括MLP、CNN、RNN等人工神经网络计算和脉冲神经网络计算),根据算数/逻辑运算和控制单元的指令从存储单元接收数据执行神经网络计算,并将计算结果保存到存储单元;存储单元,用于提供存储空间,可以保存系统通讯计算程序数据、神经网络配置参数、中间交换数据等内容;外部接口,用于提供类脑计算系统与外界环境的交互信息,其可以根据算术/逻辑运算和控制单元的指令从外界环境获取信息,或者在外界特定数据到来时引发类脑计算系统中断进入相应的处理过程,或将类脑计算系统运行结果通过视频、图像或音频等形式传递到外界环境。The present invention relates to a brain-like computing system. FIG. 2 is a schematic diagram of a first embodiment of the present invention. The system includes an arithmetic/logic operation and control unit, a brain-like co-processing unit, a storage unit, an external interface, and a bus connecting these units and the external interface . The arithmetic/logical operation and control unit is used to program and configure the brain-like co-processing unit to perform general-purpose calculations (preferably including logical operations and arithmetic calculations such as selection, branching, and judgment), while controlling the other units through the bus Operation and data exchange; brain-like co-processing unit with artificial neural network processing function and impulsive neural network processing function, used to perform artificial neural network calculation and/or impulsive neural network calculation according to the instructions of arithmetic/logic operation and control unit, also That is, it is used for general neural network calculations (including artificial neural network calculations such as MLP, CNN, RNN, and impulse neural network calculations), and performs neural network calculations by receiving data from the storage unit according to the instructions of arithmetic/logic operations and control units, and Save the calculation results to the storage unit; the storage unit is used to provide storage space, which can save the system communication calculation program data, neural network configuration parameters, intermediate exchange data, etc.; the external interface is used to provide the brain-like computing system and the external environment Interactive information, which can obtain information from the external environment according to the instructions of the arithmetic/logic operation and control unit, or trigger the interruption of the brain-like computing system into the corresponding processing process when the specific data of the outside world arrives, or pass the operation results of the brain-like computing system through video , Images or audio and other forms to the outside environment.
优选地,类脑协处理单元包括与所述总线连接的接口模块以及与所述接口模块连接的类脑协处理器组件,类脑协处理器组件可以包括至少一个人工神经网络协处理器和至少一个脉冲神经网络协处理器。在此实施例中,计算系统包含一个类脑协处理单元,该类脑协处理单元包含一个人工神经网络协处理器与一个脉冲神经网络协处理器的组合,并通过接口模块与总线相连接,进行数据交互传输。Preferably, the brain-like co-processing unit includes an interface module connected to the bus and a brain-like co-processor component connected to the interface module, the brain-like co-processor component may include at least one artificial neural network co-processor and at least A pulse neural network coprocessor. In this embodiment, the computing system includes a brain-like co-processing unit, which includes a combination of an artificial neural network co-processor and a pulse neural network co-processor, and is connected to the bus through an interface module. Perform interactive data transmission.
图3为本发明第二实施例示意图,其基本结构与第一实施例技术方案大致相同,类脑协处理单元包括与所述总线连接的接口模块以及与所述接口模块连接的类脑协处理器组件,但在第二实施例中的类脑协处理单元的类脑协处理器组件包含一个同时支持人工神经网络和脉冲神经网络计算的混合协处理器,并通过接口模块与总线相连接,进行数据交互传输。当然,类脑协处理单元的类脑协处理器组件也可以包括至少两个以上同时支持人工神经网络和脉冲神经网络计算的混合协处理器。3 is a schematic diagram of a second embodiment of the present invention, the basic structure of which is substantially the same as the technical solution of the first embodiment. The brain-like co-processing unit includes an interface module connected to the bus and a brain-like co-processing connected to the interface module Component, but the brain-like co-processor component of the brain-like co-processing unit in the second embodiment includes a hybrid co-processor that supports both artificial neural network and impulse neural network calculations, and is connected to the bus through an interface module, Perform interactive data transmission. Of course, the brain-like co-processor component of the brain-like co-processing unit may also include at least two or more hybrid co-processors that simultaneously support artificial neural network and impulse neural network calculations.
图4为本发明第三实施例示意图,在第三实施例中计算系统包含有多个类脑协处理单元,每个类脑协处理单元分别与总线相连接进行数据交互传输。所述类脑协处理单元的类脑协处理器组件可以是如第一实施例所述的包括至少一个人工神经网络协处理器与至少一个脉冲神经网络协处理器的组合,也可以是如第二实施例所述的包含至少一个同时支持人工神经网络和脉冲神经网络计算的混合协处理器,还可以是同时包括至少多个人工神经网络协处理器,或至少多个脉冲神经网络协处理器,以及人工神经网络协处理器或脉冲神经网络协处理器任意一个与至少一个同时支持人工神经网络和脉冲神经网络计算的混合协处理器的组合。只要在系统中同包括具有人工神经网络处理功能和脉冲神经网络处理功能的协处理器即可,本发明对具有人工神经网络处理功能和脉冲神经网络处理功能的协处理器是否在同一个模块中,不做限定。FIG. 4 is a schematic diagram of a third embodiment of the present invention. In the third embodiment, the computing system includes multiple brain-like co-processing units, and each brain-like co-processing unit is separately connected to a bus for data interactive transmission. The brain-like co-processor component of the brain-like co-processing unit may be a combination of at least one artificial neural network co-processor and at least one pulse neural network co-processor as described in the first embodiment, or may be as The second embodiment includes at least one hybrid coprocessor that supports both artificial neural network and impulse neural network calculations, and may also include at least multiple artificial neural network coprocessors or at least multiple impulse neural network coprocessors. , And any combination of artificial neural network coprocessor or impulse neural network coprocessor and at least one hybrid coprocessor that supports both artificial neural network and impulse neural network calculations. As long as the system includes a coprocessor with artificial neural network processing function and impulse neural network processing function, whether the coprocessor with artificial neural network processing function and impulse neural network processing function is in the same module , Not limited.
当所述类脑协处理器组件包括多个所述人工神经网络协处理器、多个所述脉冲神经网络协处理器或多个所述混合协处理器时,各协处理器优选具有可扩展接口,多个同种类的协处理器通过各自可扩展接口互相连接进行数据信息交互传输,不同种类的协处理器通过接口模块进行数据信息交互传输。如图5所示的本发明第四实施例示意图,在第四实施例中计算系统包含一个类脑协处理单元,所述类脑协处理单元的类脑协处理器组件中包含多个人工神经网络协处理器与多个脉冲神经网络协处理器,人工神经网络协处理器与脉冲神经网络协处理器之间可以通过接口模块相互连接进行数据交换,同种类协处理器可以通过自身的可扩展接口相互连接进行数据交换。When the brain-like coprocessor component includes a plurality of the artificial neural network coprocessor, a plurality of the pulse neural network coprocessor or a plurality of the hybrid coprocessor, each coprocessor preferably has expandability Interface, multiple coprocessors of the same kind are connected to each other through their extensible interfaces for data information interactive transmission, and different types of coprocessors carry out data information interactive transmission through the interface module. As shown in FIG. 5, a schematic diagram of a fourth embodiment of the present invention. In the fourth embodiment, the computing system includes a brain-like co-processing unit, and the brain-like co-processor component of the brain-like co-processing unit includes multiple artificial nerves. The network coprocessor and multiple impulse neural network coprocessors, the artificial neural network coprocessor and the impulse neural network coprocessor can be connected to each other through the interface module for data exchange, and the same kind of coprocessor can be expanded through its own The interfaces are connected to each other for data exchange.
接口模块中优选包括数据暂存单元,数据暂存单元包括若干组存储区间,所述存储区间的组数与接口模块所连接的协处理器的数量一致,数据暂存单元通过存储区间进行各协处理 器与存储单元之间交换数据的暂存、各协处理器与外部接口之间交换数据的暂存以及各协处理器之间交换数据的暂存。其中,The interface module preferably includes a data temporary storage unit. The data temporary storage unit includes several sets of storage intervals. The number of the storage intervals is the same as the number of coprocessors connected to the interface module. The data temporary storage unit performs various co-operations through the storage intervals. The temporary storage of data exchanged between the processor and the storage unit, the temporary storage of data exchanged between each coprocessor and the external interface, and the temporary storage of data exchanged between each coprocessor. among them,
1)类脑协处理单元的各协处理器与存储单元之间交换数据的暂存:1) Temporary storage of data exchange between each coprocessor of the brain-like co-processing unit and the storage unit:
人工神经网络协处理器和脉冲神经网络协处理器具有并行式计算的特点,一次操作同时执行多个神经元的计算,因此每次需要输入的数据量很多。通过接口模块,可以提前通过直接存储器存取(DMA,Direct Memory Access)实现存储单元到接口模块的数据传送,以减少类脑协处理单元在运行时由于数据交换所带来的延时。人工神经网络协处理器和脉冲神经网络协处理器的输出和中间数据,也是先存储到数据暂存单元,然后再通过总线和存储单元进行数据交换。The artificial neural network coprocessor and the impulsive neural network coprocessor have the characteristics of parallel computing, and the calculation of multiple neurons is performed simultaneously in one operation, so the amount of data that needs to be input each time is large. Through the interface module, the data transfer from the storage unit to the interface module can be realized through direct memory access (DMA, Direct Memory Access) in advance to reduce the delay caused by data exchange during the operation of the brain-like co-processing unit. The output and intermediate data of the artificial neural network coprocessor and impulse neural network coprocessor are also stored in the data temporary storage unit first, and then the data is exchanged through the bus and the storage unit.
2)类脑协处理单元的各协处理器与外部接口之间交换数据的暂存:2) Temporary storage of data exchanged between each coprocessor of the brain-like co-processing unit and the external interface:
当外界需要类脑协处理单元处理的特定数据到来时,相应的数据会被直接送入到接口模块暂存,当暂存的数据达到预先设定的数量值时,会激发算数/逻辑运算和控制单元发送指令或者通过接口模块自身的逻辑,激活类脑协处理单元对数据进行处理。When the outside world needs the specific data processed by the brain-like co-processing unit, the corresponding data will be directly sent to the interface module for temporary storage. When the temporarily stored data reaches the preset value, it will stimulate arithmetic/logical operations and The control unit sends instructions or through the interface module's own logic to activate the brain-like co-processing unit to process the data.
3)类脑协处理单元的各协处理器之间交换数据的暂存:3) Temporary storage of data exchanged between coprocessors of the brain-like co-processing unit:
同样的,当某一类脑协处理单元需要即时向其他类脑协处理单元发送数据时,会依据算数/逻辑运算和控制单元预先配置在类脑协处理单元中的目的地址信息发送到相应的类脑协处理单元的数据暂存单元中等待处理。Similarly, when a certain type of brain co-processing unit needs to send data to other types of brain co-processing units in real time, the destination address information in the brain-like co-processing unit pre-configured according to the arithmetic/logic operation and control unit will be sent to the corresponding The data storage unit of the brain-like co-processing unit is waiting for processing.
当类脑协处理单元的数据要等待另一类脑协处理单元工作一段时间后才被处理时,则类脑计算协处理单元将其输出数据发送传输到存储单元中,之后算数/逻辑运算和控制单元会依据计算得到或预先设定的信息在特定的时刻向另一类脑协处理单元发送指令从存储单元中读取数据进行处理。When the data of the brain-like co-processing unit waits for a period of time before being processed, the brain-like co-processing unit sends its output data to the storage unit, after which the arithmetic/logical operations and The control unit will send instructions to another type of brain co-processing unit at a specific time according to the calculated or preset information to read data from the storage unit for processing.
当同时有多个不同来源的数据向数据暂存单元发送数据时,响应的优先级为:外部接口输入>其他类脑协处理单元>存储单元,即,类脑协处理单元按照第一优先级响应处理来自外部接口的数据,按照第二优先级响应处理来自其他类脑协处理单元的数据,按照第三优先级响应处理来自存储单元的数据。当优先级高的输入正在向数据暂存单元写入数据时,优先级低的输入等待直至优先级高的输入写入完成后再继续写入。When multiple data from different sources are sent to the data temporary storage unit at the same time, the priority of the response is: external interface input> other brain-like co-processing unit> storage unit, that is, the brain-like co-processing unit according to the first priority The data from the external interface is processed in response, the data from other brain co-processing units is processed in response to the second priority, and the data from the storage unit is processed in response to the third priority. When the high-priority input is writing data to the data temporary storage unit, the low-priority input waits until the high-priority input write is completed before continuing to write.
进一步地,数据暂存单元具有乒乓操作的特点,对应于每一个类脑协处理器组件(人工神经网络协处理器或脉冲神经网络协处理器),具有一组两个存储区间,当其中一个处于从总线接收数据的状态时,另一个处于将自身暂存的数据发送至类脑协处理单元进行处理状态。图6为数据暂存单元示意图,数据暂存单元内包括第一输入暂存、第二输入暂存和输出暂存,所述第一输入暂存和第二输入暂存交替执行从总线接收数据和将暂存数据发送给协处理器两 个任务,比如在t时刻第一输入暂存执行从总线接收数据任务时,第二输入暂存执行将自己在t-1时刻接收的暂存数据发送给协处理器,在t+1时刻第一输入暂存将自己在t时刻接收的暂存数据发送给协处理器而第二输入暂存再执行从总线接收数据任务,使数据暂存单元具有乒乓操作的特点。输出暂存将协处理器处理后的数据输出至存储单元、外部接口或另一协处理器。两个输入暂存的工作状态按照算数/逻辑运算和控制单元的指令、或者类脑协处理单元自身的判断逻辑进行切换,使得数据可以低延迟的被送入到类脑协处理单元,同时也保证了神经网络协处理器在需要分几个不同的时间步处理数据时可以实现快速的数据获取。Further, the data temporary storage unit has the characteristics of ping-pong operation, corresponding to each brain-like coprocessor component (artificial neural network coprocessor or impulse neural network coprocessor), with a set of two storage intervals, when one of them When it is in the state of receiving data from the bus, the other is in the state of sending its temporarily stored data to the brain-like co-processing unit for processing. 6 is a schematic diagram of a data temporary storage unit. The data temporary storage unit includes a first input temporary storage, a second input temporary storage, and an output temporary storage. The first input temporary storage and the second input temporary storage are alternately executed to receive data from the bus. And two tasks of sending the temporary storage data to the coprocessor, for example, when the first input temporary storage executes the task of receiving data from the bus at time t, the second input temporary storage execution sends the temporary storage data received by itself at time t-1 To the coprocessor, at time t+1, the first input temporary storage sends the temporary storage data received at time t to the coprocessor and the second input temporary storage performs the task of receiving data from the bus, so that the data temporary storage unit has Features of ping pong operation. The output temporary storage outputs the data processed by the coprocessor to a storage unit, an external interface, or another coprocessor. The working status of the two input temporary storages is switched according to the instructions of the arithmetic/logic operation and control unit, or the judgment logic of the brain-like co-processing unit itself, so that the data can be sent to the brain-like co-processing unit with low latency. It ensures that the neural network coprocessor can achieve fast data acquisition when it needs to process data in several different time steps.
图7为本发明各协处理器事件驱动工作流程图,数据暂存单元乒乓状态切换接收新数据,并判断数据暂存单元接收数据数量是否已达到设定值,在达到设定值时判断各协处理器是否处理完之前的数据并处于空闲状态,如果处于空闲状态,则将数据按照预先设定的时序发送到协处理器组件中进行计算,数据发送完之后乒乓单元切换读写状态,数据暂存单元判断是否还有数据需要继续发送到相应协处理器中处理。7 is a flow chart of the event-driven work of each coprocessor of the present invention. The data temporary storage unit switches the ping-pong state to receive new data, and judges whether the amount of data received by the data temporary storage unit has reached the set value, and judges each when the set value is reached. Whether the coprocessor has processed the previous data and is in the idle state. If it is in the idle state, the data is sent to the coprocessor component for calculation according to the preset timing. After the data is sent, the ping-pong unit switches the read and write state. The data The temporary storage unit determines whether there is still data to be sent to the corresponding coprocessor for processing.
如此,结合接口模块自身的判断逻辑和协处理器的运行状态进行判断,可以在每次有待处理的新任务到来时唤醒相应的协处理器进行计算,当协处理器处理完成当前计算任务且下一计算任务还未分配到来时,协处理器处于低功耗的空闲状态,从而实现相应协处理器事件驱动的工作特点,降低计算系统整体能耗。In this way, combined with the judgment logic of the interface module itself and the running state of the coprocessor, the corresponding coprocessor can be awakened for calculation every time a new task to be processed arrives. When the coprocessor processing completes the current calculation task and downloads When a computing task has not been allocated, the coprocessor is in an idle state with low power consumption, so as to realize the event-driven working characteristics of the corresponding coprocessor and reduce the overall energy consumption of the computing system.
图8为本发明接口模块的优选结构示意图,接口模块除了包括如图6所示的数据暂存单元外,还包括指令暂存单元、数据格式转换单元和协处理器接口单元,其中指令暂存单元具有FIFO(first in first out,先入先出)存储结构,当算数/逻辑运算和控制单元发送需要连续执行的多个指令时,指令暂存单元对多个指令进行暂存,从而当相应协处理器执行完一条指令时,可以快速执行下一条待执行的指令。8 is a schematic diagram of a preferred structure of an interface module of the present invention. In addition to the data temporary storage unit shown in FIG. 6, the interface module also includes an instruction temporary storage unit, a data format conversion unit, and a coprocessor interface unit, in which the instruction temporary storage The unit has a FIFO (first-in-first-out, first-in-first-out) storage structure. When the arithmetic/logic operation and control unit sends multiple instructions that need to be continuously executed, the instruction temporary storage unit temporarily stores the multiple instructions, so that when the corresponding agreement When the processor finishes executing an instruction, it can quickly execute the next instruction to be executed.
协处理器接口单元包括与脉冲神经网络协处理器连接的地址-事件(Address Event Representation,AER)编码/解码单元和与人工神经网络协处理器连接的数值量输入/输出单元,AER编码/解码单元与数值量输入/输出单元通过数据格式转换单元相互连接传输数据,数值量输入/输出单元与数据格式转换单元通过数据暂存单元连接总线进行数据交互,指令暂存单元直接连接总线进行数据交互并对脉冲神经网络协处理器和人工神经网络协处理器发送控制指令。The coprocessor interface unit includes an address-event (AER) encoding/decoding unit connected to the pulse neural network coprocessor and a numerical input/output unit connected to the artificial neural network coprocessor, AER encoding/decoding The unit and the numerical input/output unit are connected to each other through the data format conversion unit to transmit data. The numerical input/output unit and the data format conversion unit are connected to the bus through the data temporary storage unit for data interaction, and the command temporary storage unit is directly connected to the bus for data interaction And send control instructions to the pulse neural network coprocessor and the artificial neural network coprocessor.
接口模块通过AER编码/解码单元与脉冲神经网络协处理器之间采用AER表示法的编码方式进行通信,通过离散事件包(即脉冲神经元事件包)的形式传递脉冲神经网络协处理器中神经元的输出脉冲,脉冲神经元事件包中含有此脉冲信息的目标地址,当脉冲神经网络协处理器输出一个脉冲神经元事件包,则表示它向目的地址传递了一个脉冲,若脉冲协处理器在 某一时刻计算结果无脉冲产生,则没有脉冲神经元事件包输出。AER编码/解码单元用于在接收脉冲神经网络协处理器的输出时对脉冲神经元事件包内的路由信息进行解析,在向脉冲神经网络协处理器发送输入时的路由信息进行打包。The interface module communicates with the AER encoding/decoding unit and the pulse neural network coprocessor using the AER notation coding method, and transmits the nerves in the pulse neural network coprocessor through the form of discrete event packets (ie, pulse neuron event packets). The output pulse of the neuron, the pulse neuron event packet contains the target address of the pulse information, when the pulse neural network coprocessor outputs a pulse neuron event packet, it means that it transmits a pulse to the destination address, if the pulse coprocessor At a certain moment, no pulse is generated in the calculation result, and no pulse neuron event packet is output. The AER encoding/decoding unit is used to analyze the routing information in the pulse neuron event package when receiving the output of the pulse neural network coprocessor, and to package the routing information when sending the input to the pulse neural network coprocessor.
接口模块与人工神经网络协处理器之间直接批量连续传输多个人工神经元数量值。数值量输入/输出单元用于从人工神经网络接收连续的数值量、并将数据存储至数据暂存单元对应区域,以及在向人工神经网络子系统发送数据时,从数据暂存单元相应位置读取数据进行发送。The interface module and the artificial neural network coprocessor directly and continuously transmit the number of multiple artificial neurons in batches. The numerical input/output unit is used to receive continuous numerical values from the artificial neural network and store the data in the corresponding area of the data temporary storage unit, and to read from the corresponding position of the data temporary storage unit when sending data to the artificial neural network subsystem Get the data and send it.
数据格式转换单元,用于对人工神经网络协处理器和脉冲神经网络协处理器的输入和输出数据进行格式转换。数据格式转换单元,在人工神经元信息输入脉冲神经网络协处理器时,将具有一定精度的人工神经元数量值信息转换为脉冲神经元事件包信息;在脉冲神经元信息输入人工神经网络协处理器时,将脉冲神经元事件包转换为具有一定精度的人工神经元数量值信息。也就是说,数据格式转换单元对人工神经元数量值信息和脉冲神经元事件包信息进行格式的相互转换。The data format conversion unit is used for format conversion of input and output data of the artificial neural network coprocessor and the pulse neural network coprocessor. Data format conversion unit, when the artificial neuron information is input into the pulse neural network coprocessor, the artificial neuron quantity value information with a certain precision is converted into the pulse neuron event package information; the pulse neuron information is input into the artificial neural network co-processing When converting, the pulse neuron event package is converted into artificial neuron quantity value information with a certain accuracy. That is to say, the data format conversion unit performs format conversion between the artificial neuron quantity value information and the pulse neuron event packet information.
上面所述不同的接口编码方式在传输时可以采用相同的物理载体及物理传输协议。The different interface encoding methods described above can use the same physical carrier and physical transmission protocol during transmission.
本发明类脑计算系统的算数/逻辑运算和控制单元优选为传统执行通用程序的微处理器,包括但不限于:CPU、GPU、DSP、单片机等。存储单元为计算机可读存储介质,可以是如(但不限于)电子的、磁的、光学的、电磁的、红外的或易失的、非易失的半导体系统、设备或装置,或者前述的任意适当的组合。计算机可读存储介质的更具体的示例(非穷尽列举)将包括以下各项:具有一根或多根电线的电气连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪速存储器)、光纤、便携式光盘只读存储器(CD-ROM)、非易事存储器(NVM)如相变存储器(PCM)和阻变存储器(RRAM)、光存储装置、磁存储装置、或前述的任意适当的组合。在本发明实施例的上下文中,计算机可读存储介质可以为能够包含或存储由指令执行系统、设备或装置使用的程序或结合指令执行系统、设备或装置使用的程序的任意有形介质。The arithmetic/logical operation and control unit of the brain-like computing system of the present invention is preferably a microprocessor that traditionally executes general-purpose programs, including but not limited to: CPU, GPU, DSP, single-chip microcomputer, and the like. The storage unit is a computer-readable storage medium, which may be, but not limited to, electronic, magnetic, optical, electromagnetic, infrared or volatile, non-volatile semiconductor system, device or device, or the aforementioned Any suitable combination. A more specific example (not an exhaustive list) of computer-readable storage media will include the following: electrical connection with one or more wires, floppy disk for portable computer, hard disk, random access memory (RAM), read-only memory ( ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), non-easy memory (NVM) such as phase change memory (PCM) and resistive memory (RRAM), optical storage device, magnetic storage device, or any suitable combination of the foregoing. In the context of an embodiment of the present invention, a computer-readable storage medium may be any tangible medium that can contain or store a program used by or in conjunction with an instruction execution system, device, or device.
算数/逻辑运算和控制单元执行人工通用智能中除了神经网络之外的算法和函数(比如数据预处理、分支循环逻辑控制等机器学习算法中的必要操作),同时其负责发送对人工神经网络进行配置的指令和其他操作指令。The arithmetic/logic operation and control unit executes algorithms and functions other than neural networks in artificial general intelligence (such as necessary operations in machine learning algorithms such as data preprocessing, branch loop logic control), and it is responsible for sending to the artificial neural network Configuration instructions and other operation instructions.
1.算数/逻辑运算和控制单元向类脑协处理单元发送指令1. The arithmetic/logic operation and control unit sends instructions to the brain-like co-processing unit
算数/逻辑运算和控制单元(简称控制单元)执行人工通用智能中除了神经网络之外的算法和函数(比如数据预处理、分支循环逻辑控制等机器学习算法中的必要操作),同时其负责发送对人工神经网络进行配置的指令和其他操作指令,所述操作指令包括但不限于更新类脑 协处理单元配置、更改协处理协处理单元运行状态、读取协处理单元时运行状态等。如前所述,控制单元向类脑协处理单元发送的指令信息被存储在具有FIFO存储结构的指令暂存单元中,待类脑协处理器处理完前面的指令后执行。The arithmetic/logic operation and control unit (referred to as the control unit) performs algorithms and functions other than neural networks in artificial general intelligence (such as data preprocessing, branch loop logic control and other necessary operations in machine learning algorithms), and it is responsible for sending Instructions for configuring the artificial neural network and other operation instructions, including but not limited to updating the configuration of the brain-like co-processing unit, changing the operating state of the co-processing co-processing unit, and reading the operating state of the co-processing unit, etc. As mentioned above, the instruction information sent by the control unit to the brain-like co-processing unit is stored in an instruction temporary storage unit with a FIFO storage structure, and is executed after the brain-like co-processor processes the previous instruction.
2.算数/逻辑运算和控制单元向类脑协处理单元更新配置数据2. Arithmetic/logical operation and control unit update configuration data to brain-like co-processing unit
特别地,当控制单元控制类脑协处理单元配置数据时,先向类脑协处理单元发送配置指令,使类脑协处理单元进入相应的配置模式,之后类脑协处理单元和存储单元进行数据交换,从存储单元获取相应的配置数据,配置数据在存储单元中的地址,由所述配置指令给出。配置参数从存储单元传送到类脑协处理单元时,配置模式分为广播模式、多播模式和单一模式。图9为本发明数据读取/配置指令发送模式流程图,包括发送给所有类脑协处理单元的广播模式、发送给多个指定类脑协处理单元的多播模式、或发送给单一指定类脑协处理单元的单一模式。In particular, when the control unit controls the configuration data of the brain-like co-processing unit, the configuration instruction is first sent to the brain-like co-processing unit to make the brain-like co-processing unit enter the corresponding configuration mode, and then the brain-like co-processing unit and the storage unit perform data In exchange, the corresponding configuration data is obtained from the storage unit, and the address of the configuration data in the storage unit is given by the configuration instruction. When the configuration parameters are transferred from the storage unit to the brain-like co-processing unit, the configuration mode is divided into broadcast mode, multicast mode and single mode. 9 is a flow chart of a data reading/configuration instruction sending mode of the present invention, including a broadcast mode sent to all brain-like co-processing units, a multicast mode sent to multiple designated brain-like co-processing units, or a single designated class Single mode of brain co-processing unit.
广播模式:存储单元将数据发送到人工神经网络/脉冲神经网络协处理器中所有的计算单元的存储区域中。如图9所示,控制单元向类脑协处理单元发送广播传送指令,类脑协处理单元从存储单元中读取一次数据,所述数据发送到所有计算单元中。Broadcast mode: The storage unit sends data to the storage area of all computing units in the artificial neural network/pulse neural network coprocessor. As shown in FIG. 9, the control unit sends a broadcast transfer instruction to the brain-like co-processing unit, and the brain-like co-processing unit reads data from the storage unit once, and the data is sent to all computing units.
多播模式:存储单元将数据发送到人工神经网络/脉冲神经网络协处理器中多个指定的计算单元的存储区域中,如图9所示,控制单元向类脑协处理单元发送多播传送指令,类脑协处理单元从存储单元中读取一次数据,所述数据发送到到多个对应的计算单元中。Multicast mode: the storage unit sends data to the storage area of multiple specified computing units in the artificial neural network/pulse neural network coprocessor. As shown in Figure 9, the control unit sends multicast transmission to the brain-like co-processing unit Instruction, the brain-like co-processing unit reads data from the storage unit once, and the data is sent to multiple corresponding computing units.
单一模式:存储单元所传送的数据发送到人工神经网络/脉冲神经网络协处理器中一个指定的计算单元的存储区域中,如图9所示,控制单元向类脑协处理单元发送第一传送指令,类脑协处理单元从存储单元中读取一次数据,所述数据发送到到一个对应的计算单元中。Single mode: The data transmitted by the storage unit is sent to the storage area of a designated computing unit in the artificial neural network/pulse neural network coprocessor. As shown in FIG. 9, the control unit sends the first transmission to the brain-like co-processing unit Instruction, the brain-like co-processing unit reads the data from the storage unit once, and sends the data to a corresponding calculation unit.
其中,广播模式为一次配置即可完成,而多播模式和单一模式根据计算任务的需要判断是否继续配置类脑协处理单元中的其他计算单元,并在需要继续配置其他计算单元时,返回控制单元需要向类脑协处理单元发送数据读取/配置指令这一步骤。Among them, the broadcast mode can be completed in one configuration, while the multicast mode and single mode determine whether to continue to configure other computing units in the brain-like co-processing unit according to the needs of the computing task, and return to control when it is necessary to continue to configure other computing units The unit needs to send data reading/configuration instructions to the brain-like co-processing unit.
本发明中的类脑协处理器组件优选包括的人工神经网络协处理器和脉冲神经网络协处理器,其均为专用的硬件电路结构。The brain-like coprocessor component in the present invention preferably includes an artificial neural network coprocessor and a pulse neural network coprocessor, both of which are dedicated hardware circuit structures.
人工神经网络协处理器,用于传输和处理人工神经网络中的具有一定精度(比脉冲神经网络协处理器的数据精度高)的数据,实现高密度并行计算Artificial neural network coprocessor, used to transmit and process data with a certain accuracy (higher data accuracy than pulse neural network coprocessor) in artificial neural network, to achieve high-density parallel computing
图10为本发明的人工神经网络协处理器的一种结构示意图。人工神经网络协处理器包括多个并行计算的人工神经网络计算单元,各人工神经网络计算单元之间通过内部总线互相连接进行数据信息交互传输;所述人工神经网络计算单元包括依次连接的权重存储单元、矩阵计算单元、向量计算单元和中间值存储单元,中间值存储单元还连接矩阵计算单元,权重存 储单元与中间值存储单元分别通过数据总线连接内部总线与其他人工神经网络计算单元进行数据交互并将数据发送给矩阵计算单元进行计算,矩阵计算单元接收到数据后根据控制信号进行运算并将结果发送给向量计算单元,再由向量计算单元结合控制信号进行相应计算并最终将结果传输至中间值存储单元。10 is a schematic structural diagram of an artificial neural network coprocessor of the present invention. The artificial neural network coprocessor includes a plurality of artificial neural network computing units in parallel calculation, and each artificial neural network computing unit is connected to each other through an internal bus for interactive data transmission; the artificial neural network computing unit includes sequentially connected weight storage Unit, matrix calculation unit, vector calculation unit and intermediate value storage unit, the intermediate value storage unit is also connected to the matrix calculation unit, the weight storage unit and the intermediate value storage unit are connected to the internal bus through the data bus to communicate with other artificial neural network calculation units The data is sent to the matrix calculation unit for calculation. After receiving the data, the matrix calculation unit performs calculation according to the control signal and sends the result to the vector calculation unit. The vector calculation unit combines the control signal to perform the corresponding calculation and finally transmits the result to the middle. Value storage unit.
图11为本发明的脉冲神经网络协处理器的一种结构示意图。脉冲神经网络协处理器,用于处理具有稀疏性、动态数据流、包含丰富时序信息、离散脉冲输入中一个或多个特征的输入信息。脉冲神经网络协处理器内部包括多个并行计算的脉冲神经网络计算单元和与脉冲神经网络计算单元数量一致的多个路由通信单元,每个脉冲神经网络计算单元都连接有一个路由通信单元,各路由通信单元之间互相连接形成片上路由网络进行数据信息交互传输;所述脉冲神经网络计算单元包括轴突输入单元、突触权重存储单元、控制单元、树突计算单元和神经元计算单元,轴突输入单元接收来自路由通信单元的数据并发送给树突计算单元,轴突输入单元、突触权重存储单元、控制单元和神经元计算单元均连接树突计算单元,控制单元分别连接轴突输入单元和神经元计算单元,树突计算单元根据接收到的轴突输入单元数据以及突触权重存储单元传输的数据进行计算并将结果发送给神经元计算单元做进一步运算,最后将结果通过路由通信单元发送至其他脉冲神经网络计算单元以进行数据交互。11 is a schematic structural diagram of a pulse neural network coprocessor of the present invention. The pulse neural network coprocessor is used to process input information with sparseness, dynamic data flow, rich timing information, and one or more features of discrete pulse input. The impulse neural network coprocessor includes multiple parallel computing impulse neural network computing units and multiple routing communication units consistent with the number of impulse neural network computing units. Each impulsive neural network computing unit is connected to a routing communication unit, each The routing communication units are connected to each other to form an on-chip routing network for data information interactive transmission; the impulse neural network computing unit includes an axon input unit, a synaptic weight storage unit, a control unit, a dendrite computing unit, and a neuron computing unit. The axon input unit receives data from the routing communication unit and sends it to the dendrite calculation unit. The axon input unit, synapse weight storage unit, control unit and neuron calculation unit are all connected to the dendrite calculation unit, and the control unit is connected to the axon input respectively The unit and the neuron calculation unit, the dendrite calculation unit calculates based on the received axon input unit data and the data transmitted by the synaptic weight storage unit and sends the result to the neuron calculation unit for further calculation, and finally the result is communicated by routing The unit is sent to other impulsive neural network computing units for data interaction.
当所述计算系统包括多个类脑协处理单元时,由算数/逻辑运算和控制单元预先分配每个类脑协处理单元的目的地址,当有两个类脑协处理单元或两个以上的之间需要数据交互时,分配到第一目的地址的类脑协处理单元通过识别第二目的地址将数据发送至第二目的地址对应的类脑协处理单元。当所述第二目的地址类脑协处理单元无法及时处理来自第一目的地址类脑协处理单元的数据时,第一目的地址类脑协处理单元将数据发送到存储单元,并由算数/逻辑运算和控制单元选择特定的时刻命令第二目的地址类脑协处理单元从存储单元中读取并处理所述数据。When the computing system includes multiple brain-like co-processing units, the destination address of each brain-like co-processing unit is pre-allocated by the arithmetic/logic operation and control unit. When there are two brain-like co-processing units or more than two When data interaction is required, the brain-like co-processing unit assigned to the first destination address sends data to the brain-like co-processing unit corresponding to the second destination address by identifying the second destination address. When the second destination address brain co-processing unit cannot process the data from the first destination address brain co-processing unit in a timely manner, the first destination address brain co-processing unit sends the data to the storage unit, and the arithmetic/logic The operation and control unit selects a specific time and instructs the second destination address type brain co-processing unit to read and process the data from the storage unit.
本发明的类脑计算系统实质为一种异构结合的类脑计算机结构,采用了传统微处理器构成的算术/逻辑运算和控制单元,协同可以支持高效人工神经网络和脉冲神经网络计算的类脑协处理单元,共同搭配来分工高效执行通用人工智能计算中的不同任务。该系统方便了类脑协处理单元在实际应用场景中的使用,通过传统微处理器构成的算术/逻辑运算和控制单元,可以实现对于类脑协处理器的灵活编程和配置,可以实时在线的更改类脑协处理器所处理的任务。同时,基于类脑协处理单元的计算特点和对于数据的访问需求,优选设计了一个可以支持类脑协处理单元连续高速执行的接口模块,类脑协处理器组件的各协处理器根据接口模块的逻辑和自身运行状态在计算状态和低功耗空闲状态之间切换,使得可以快速、高效、便 捷的实现类脑协处理单元与算术/逻辑运算和控制单元、与存储单元、与外部接口以及类脑协处理单元之间的数据交换,降低了整个系统的运行功耗。The brain-like computing system of the present invention is essentially a heterogeneously combined brain-like computer structure, which uses an arithmetic/logic operation and control unit composed of traditional microprocessors, which can support efficient artificial neural network and impulsive neural network computing classes Brain co-processing units work together to divide and perform tasks efficiently in general artificial intelligence computing. The system facilitates the use of brain-like co-processing units in actual application scenarios. The arithmetic/logic operation and control unit composed of traditional microprocessors can realize flexible programming and configuration of brain-like co-processors, which can be real-time online Change the tasks handled by the brain-like coprocessor. At the same time, based on the calculation characteristics of the brain-like co-processing unit and the data access requirements, an interface module that can support the continuous high-speed execution of the brain-like co-processing unit is preferably designed. The logic and its own operating state are switched between the computing state and the low-power idle state, making it possible to quickly, efficiently, and conveniently implement the brain-like co-processing unit and the arithmetic/logic operation and control unit, and the storage unit, and the external interface and Data exchange between brain-like co-processing units reduces the operating power consumption of the entire system.
以上所述仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换等都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。The above is only the preferred embodiment of the present invention, but the scope of protection of the present invention is not limited to this, any person skilled in the art can easily think of changes or replacements within the technical scope disclosed by the present invention Etc. should be covered within the protection scope of the present invention. Therefore, the protection scope of the present invention should be subject to the protection scope of the claims.

Claims (15)

  1. 一种类脑计算系统,其特征在于,包括算数/逻辑运算和控制单元、类脑协处理单元、存储单元、外部接口以及连接各单元和外部接口的总线;所述算术/逻辑运算和控制单元,用于对类脑协处理单元进行编程和配置,执行算数运算或逻辑运算,通过总线控制其它各所述单元的运行和数据交换;所述类脑协处理单元,具有人工神经网络处理功能和脉冲神经网络处理功能,用于根据所述算数/逻辑运算和控制单元的指令执行人工神经网络计算和脉冲神经网络计算,并将计算结果保存到所述存储单元;所述外部接口,用于提供所述类脑计算系统与外界环境的交互信息。A brain-like computing system, characterized by comprising an arithmetic/logic operation and control unit, a brain-like co-processing unit, a storage unit, an external interface, and a bus connecting each unit and the external interface; the arithmetic/logic operation and control unit, It is used to program and configure the brain-like co-processing unit, perform arithmetic operations or logical operations, and control the operation and data exchange of the other units through the bus; the brain-like co-processing unit has artificial neural network processing functions and pulses Neural network processing function, used to perform artificial neural network calculation and impulsive neural network calculation according to the instructions of the arithmetic/logical operation and control unit, and save the calculation result to the storage unit; the external interface is used to provide all Describe the interactive information between the brain-like computing system and the external environment.
  2. 如权利要求1所述的计算系统,其特征在于,所述类脑协处理单元包括与所述总线连接的接口模块以及与所述接口模块连接的类脑协处理器组件,The computing system according to claim 1, wherein the brain-like co-processing unit includes an interface module connected to the bus and a brain-like co-processor component connected to the interface module,
    所述类脑协处理器组件包括至少一个人工神经网络协处理器和至少一个脉冲神经网络协处理器;The brain-like coprocessor component includes at least one artificial neural network coprocessor and at least one pulse neural network coprocessor;
    或,所述类脑协处理组件包括至少一个同时支持人工神经网络和脉冲神经网络计算的混合协处理器;Or, the brain-like co-processing component includes at least one hybrid co-processor that supports both artificial neural network and impulse neural network calculations;
    或,所述类脑协处理组件包括至少一个人工神经网络协处理器、至少一个脉冲神经网络协处理器以及至少一个同时支持人工神经网络和脉冲神经网络计算的混合协处理器。Or, the brain-like co-processing component includes at least one artificial neural network co-processor, at least one impulsive neural network co-processor, and at least one hybrid co-processor that supports both artificial neural network and impulsive neural network calculations.
  3. 如权利要求1或2所述的计算系统,其特征在于,所述算数/逻辑运算和控制单元为CPU、GPU、DSP和/或单片机;The computing system according to claim 1 or 2, wherein the arithmetic/logic operation and control unit is a CPU, GPU, DSP, and/or single chip microcomputer;
    所述外部接口根据所述算术/逻辑运算和控制单元的指令从所述外界环境获取信息,或在所述外界环境发送特定数据时控制所述类脑计算系统执行相应的处理过程,或将所述类脑计算系统的运行结果发送到所述外界环境。The external interface obtains information from the external environment according to the instructions of the arithmetic/logical operation and control unit, or controls the brain-like computing system to perform corresponding processing procedures when the external environment sends specific data, or The operation result of the brain-like computing system is sent to the external environment.
  4. 如权利要求2或3所述的计算系统,其特征在于,当所述类脑协处理器组件包括多个所述人工神经网络协处理器、多个所述脉冲神经网络协处理器或多个所述混合协处理器时,各所述协处理器具有可扩展接口,多个同种类的协处理器通过各自所述可扩展接口互相连接进行数据信息交互传输,不同种类的协处理器通过所述接口模块进行数据信息交互传输。The computing system according to claim 2 or 3, wherein when the brain-like coprocessor component includes a plurality of the artificial neural network coprocessor, a plurality of the pulse neural network coprocessor or a plurality of In the hybrid coprocessor, each of the coprocessors has an extensible interface, and multiple coprocessors of the same type are connected to each other through the extensible interfaces for data information interactive transmission. Different types of coprocessors pass the The interface module transmits data information interactively.
  5. 如权利要求2-4任一项所述的计算系统,其特征在于,所述人工神经网络协处理器包括多个并行的人工神经网络计算单元,各所述人工神经网络计算单元之间通过内部总线互相连接进行数据信息交互传输;所述人工神经网络计算单元包括依次连接的权重存储单元、矩阵计算单元、向量计算单元和中间值存储单元,所述中间值存储单元连接所述矩阵计算单元。The computing system according to any one of claims 2-4, wherein the artificial neural network coprocessor includes a plurality of parallel artificial neural network computing units, and each of the artificial neural network computing units The buses are connected to each other for data information interactive transmission; the artificial neural network calculation unit includes a weight storage unit, a matrix calculation unit, a vector calculation unit, and an intermediate value storage unit connected in sequence, and the intermediate value storage unit is connected to the matrix calculation unit.
  6. 如权利要求2-5任一项所述的计算系统,其特征在于,所述脉冲神经网络协处理器包括多个并行计算的脉冲神经网络计算单元和与脉冲神经网络计算单元数量一致的多个路由通信单元,每个所述脉冲神经网络计算单元都连接一个所述路由通信单元,各所述路由通信单 元之间互相连接形成片上路由网络进行数据信息交互传输;所述脉冲神经网络计算单元包括轴突输入单元、突触权重存储单元、控制单元、树突计算单元和神经元计算单元,所述轴突输入单元、突触权重存储单元、控制单元和神经元计算单元均连接树突计算单元,所述控制单元分别连接所述轴突输入单元和所述神经元计算单元。The computing system according to any one of claims 2-5, wherein the impulse neural network coprocessor includes a plurality of impulse neural network computing units that are calculated in parallel and a plurality of the same number of impulse neural network computing units A routing communication unit, each of the pulse neural network computing units is connected to one of the routing communication units, and each of the routing communication units is connected to each other to form an on-chip routing network for interactive transmission of data information; the pulse neural network computing unit includes Axon input unit, synapse weight storage unit, control unit, dendrite calculation unit and neuron calculation unit, the axon input unit, synapse weight storage unit, control unit and neuron calculation unit are all connected to dendrite calculation unit , The control unit is respectively connected to the axon input unit and the neuron calculation unit.
  7. 如权利要求2-6任一项所述的计算系统,其特征在于,所述类脑协处理器组件的各所述协处理器根据接口模块的逻辑和自身运行状态在计算状态和低功耗空闲状态之间切换。The computing system according to any one of claims 2-6, wherein each coprocessor of the brain-like coprocessor component is in a computing state and low power consumption according to the logic of the interface module and its own operating state Switch between idle states.
  8. 如权利要求2-7任一项所述的计算系统,其特征在于,所述接口模块包括数据暂存单元、指令暂存单元、数据格式转换单元和协处理器接口单元;所述数据暂存单元包括若干组存储区间,所述存储区间的组数与接口模块所连接的协处理器数量一致,用于暂存各所述协处理器与所述存储单元之间交换数据、各协处理器与外部接口之间交换数据以及各协处理器之间交换数据;所述指令暂存单元具有先入先出存储结构,用于暂存从算数/逻辑运算和控制单元发送的需要执行的多个指令。The computing system according to any one of claims 2-7, wherein the interface module includes a data temporary storage unit, an instruction temporary storage unit, a data format conversion unit, and a coprocessor interface unit; the data temporary storage The unit includes several sets of storage intervals, the number of the storage intervals is the same as the number of coprocessors connected to the interface module, and is used to temporarily store data exchanged between each coprocessor and the storage unit, and each coprocessor Exchange data with external interfaces and exchange data between coprocessors; the instruction temporary storage unit has a first-in first-out storage structure for temporarily storing multiple instructions sent from arithmetic/logical operations and control units to be executed .
  9. 如权利要求8所述的计算系统,其特征在于,所述存储区间包括第一输入暂存、第二输入暂存和输出暂存,所述第一输入暂存和第二输入暂存交替执行从总线接收数据和将暂存数据发送给协处理器两个任务,所述输出暂存将协处理器处理后的数据输出至存储单元、外部接口或另一协处理器。The computing system according to claim 8, wherein the storage interval includes a first input temporary storage, a second input temporary storage, and an output temporary storage, and the first input temporary storage and the second input temporary storage are alternately executed There are two tasks of receiving data from the bus and sending temporary storage data to the coprocessor. The output temporary storage outputs the data processed by the coprocessor to a storage unit, an external interface, or another coprocessor.
  10. 如权利要求8所述的计算系统,其特征在于,当所述类脑协处理器组件包括有人工神经网络协处理器和脉冲神经网络协处理器时,所述协处理器接口单元包括与所述脉冲神经网络协处理器连接的地址-事件编码解码单元以及与所述人工神经网络协处理器连接的数值量输入输出单元,所述地址-事件编码解码单元与所述数值量输入输出单元通过所述数据格式转换单元相互连接传输数据,所述数据格式转换单元对人工神经元数量值信息和脉冲神经元事件包信息进行格式的相互转换。The computing system according to claim 8, wherein when the brain-like coprocessor component includes an artificial neural network coprocessor and a pulse neural network coprocessor, the coprocessor interface unit includes The address-event encoding and decoding unit connected to the impulse neural network coprocessor and the numerical input and output unit connected to the artificial neural network coprocessor, the address-event encoding and decoding unit and the numerical input and output unit pass The data format conversion unit connects and transmits data to each other, and the data format conversion unit performs format conversion between the artificial neuron quantity value information and the pulse neuron event packet information.
  11. 如权利要求10所述的计算系统,其特征在于,所述数值量输入输出单元与数据格式转换单元通过数据暂存单元连接总线进行数据交互,指令暂存单元直接连接总线进行数据交互并对脉冲神经网络协处理器和人工神经网络协处理器发送控制指令。The computing system according to claim 10, wherein the numerical input/output unit and the data format conversion unit are connected to the bus through the data temporary storage unit for data interaction, and the command temporary storage unit is directly connected to the bus for data interaction and pulse Neural network coprocessor and artificial neural network coprocessor send control instructions.
  12. 如权利要求1所述的计算系统,其特征在于,当所述计算系统包括多个类脑协处理单元时,由算数/逻辑运算和控制单元预先分配每个类脑协处理单元的目的地址,当类脑协处理单元之间需要数据交互时,分配到第一目的地址的类脑协处理单元通过识别第二目的地址将数据发送至第二目的地址对应的类脑协处理单元。The computing system according to claim 1, wherein when the computing system includes a plurality of brain-like co-processing units, the destination address of each brain-like co-processing unit is pre-allocated by an arithmetic/logical operation and control unit, When data interaction is required between the brain-like co-processing units, the brain-like co-processing unit assigned to the first destination address sends data to the brain-like co-processing unit corresponding to the second destination address by identifying the second destination address.
  13. 如权利要求12所述的计算系统,其特征在于,当所述第二目的地址类脑协处理单元无法及时处理来自第一目的地址类脑协处理单元的数据时,第一目的地址类脑协处理单元 将数据发送到存储单元,并由算数/逻辑运算和控制单元选择特定的时刻命令第二目的地址类脑协处理单元从存储单元中读取并处理所述数据。The computing system according to claim 12, wherein when the second destination address brain co-processing unit cannot process data from the first destination address brain co-processing unit in time, the first destination address brain co-processing unit The processing unit sends the data to the storage unit, and the arithmetic/logical operation and control unit selects a specific time to instruct the second destination address type brain co-processing unit to read and process the data from the storage unit.
  14. 如权利要求12或13所述的计算系统,其特征在于,所述类脑协处理单元按照第一优先级响应处理来自外部接口的数据,按照第二优先级响应处理来自其他类脑协处理单元的数据,按照第三优先级响应处理来自存储单元的数据。The computing system according to claim 12 or 13, wherein the brain-like co-processing unit processes data from an external interface according to a first priority response, and processes data from other brain-like co-processing units according to a second priority response , The data from the storage unit is processed in response to the third priority.
  15. 如权利要求14所述的计算系统,其特征在于,所述类脑协处理单元依据算数/逻辑运算和控制单元发出的数据读取/配置指令从存储单元的相应位置中读取数据/配置数据;所述数据读取/配置指令的发送过程为发送给所有类脑协处理单元的广播模式、或发送给多个指定类脑协处理单元的多播模式、或发送给单一指定类脑协处理单元的单一模式。The computing system according to claim 14, wherein the brain-like co-processing unit reads the data/configuration data from the corresponding location of the storage unit according to the data reading/configuration instruction issued by the arithmetic/logical operation and control unit The sending process of the data read/configuration instruction is a broadcast mode sent to all brain-like co-processing units, or a multicast mode sent to multiple specified brain-like co-processing units, or a single specified brain-like co-processing Single mode of unit.
PCT/CN2019/121453 2018-12-29 2019-11-28 Brain-like computing system WO2020134824A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811644637.9A CN109858620B (en) 2018-12-29 2018-12-29 Brain-like computing system
CN201811644637.9 2018-12-29

Publications (1)

Publication Number Publication Date
WO2020134824A1 true WO2020134824A1 (en) 2020-07-02

Family

ID=66893383

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/121453 WO2020134824A1 (en) 2018-12-29 2019-11-28 Brain-like computing system

Country Status (2)

Country Link
CN (1) CN109858620B (en)
WO (1) WO2020134824A1 (en)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109858620B (en) * 2018-12-29 2021-08-20 北京灵汐科技有限公司 Brain-like computing system
US11443195B2 (en) 2019-02-19 2022-09-13 Volodymyr Bykov Domain-based dendral network
CN110991626B (en) * 2019-06-28 2023-04-28 广东工业大学 Multi-CPU brain simulation system
CN110322010B (en) * 2019-07-02 2021-06-25 深圳忆海原识科技有限公司 Pulse neural network operation system and method for brain-like intelligence and cognitive computation
CN110378475B (en) * 2019-07-08 2021-08-06 浙江大学 Multi-bit parallel binary synapse array-based neuromorphic computing circuit
CN111082949B (en) * 2019-10-29 2022-01-28 广东工业大学 Method for efficiently transmitting pulse data packets in brain-like computer
CN112905525B (en) * 2019-11-19 2024-04-05 中科寒武纪科技股份有限公司 Method and equipment for controlling computing device to perform computation
CN110990060B (en) * 2019-12-06 2022-03-22 北京瀚诺半导体科技有限公司 Embedded processor, instruction set and data processing method of storage and computation integrated chip
CN111325321B (en) * 2020-02-13 2023-08-29 中国科学院自动化研究所 Brain-like computing system based on multi-neural network fusion and execution method of instruction set
CN112188093B (en) * 2020-09-24 2022-09-02 北京灵汐科技有限公司 Bimodal signal fusion system and method
CN112269606B (en) * 2020-11-12 2021-12-07 浙江大学 Application processing program dynamic loading method of brain-like computer operating system
CN112686381A (en) * 2020-12-30 2021-04-20 北京灵汐科技有限公司 Neural network model, method, electronic device, and readable medium
CN112966814B (en) * 2021-03-17 2023-05-05 上海新氦类脑智能科技有限公司 Information processing method of fusion impulse neural network and fusion impulse neural network
CN113222134B (en) * 2021-07-12 2021-10-26 深圳市永达电子信息股份有限公司 Brain-like computing system, method and computer readable storage medium
CN114399033B (en) * 2022-03-25 2022-07-19 浙江大学 Brain-like computing system and method based on neuron instruction coding
CN114781633B (en) * 2022-06-17 2022-10-14 电子科技大学 Processor fusing artificial neural network and impulse neural network
CN116155843B (en) * 2023-02-01 2024-04-16 北京大学 PYNQ-based pulse neural network chip data communication method and system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104809498A (en) * 2014-01-24 2015-07-29 清华大学 Brain-like coprocessor based on neuromorphic circuit
CN104809501A (en) * 2014-01-24 2015-07-29 清华大学 Computer system based on brain-like coprocessor
CN105095961A (en) * 2015-07-16 2015-11-25 清华大学 Mixing system with artificial neural network and impulsive neural network
CN105095967A (en) * 2015-07-16 2015-11-25 清华大学 Multi-mode neural morphological network core
US20180225565A1 (en) * 2017-02-06 2018-08-09 International Business Machines Corporation Voltage controlled highly linear resistive elements
CN109858620A (en) * 2018-12-29 2019-06-07 北京灵汐科技有限公司 One type brain computing system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8515885B2 (en) * 2010-10-29 2013-08-20 International Business Machines Corporation Neuromorphic and synaptronic spiking neural network with synaptic weights learned using simulation
CN104732274A (en) * 2015-03-10 2015-06-24 华南理工大学 Intelligent computer
CN105095966B (en) * 2015-07-16 2018-08-21 北京灵汐科技有限公司 The hybrid system of artificial neural network and impulsive neural networks
US10878313B2 (en) * 2017-05-02 2020-12-29 Intel Corporation Post synaptic potential-based learning rule

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104809498A (en) * 2014-01-24 2015-07-29 清华大学 Brain-like coprocessor based on neuromorphic circuit
CN104809501A (en) * 2014-01-24 2015-07-29 清华大学 Computer system based on brain-like coprocessor
CN105095961A (en) * 2015-07-16 2015-11-25 清华大学 Mixing system with artificial neural network and impulsive neural network
CN105095967A (en) * 2015-07-16 2015-11-25 清华大学 Multi-mode neural morphological network core
US20180225565A1 (en) * 2017-02-06 2018-08-09 International Business Machines Corporation Voltage controlled highly linear resistive elements
CN109858620A (en) * 2018-12-29 2019-06-07 北京灵汐科技有限公司 One type brain computing system

Also Published As

Publication number Publication date
CN109858620A (en) 2019-06-07
CN109858620B (en) 2021-08-20

Similar Documents

Publication Publication Date Title
WO2020134824A1 (en) Brain-like computing system
CN109542830B (en) Data processing system and data processing method
TWI634489B (en) Multi-layer artificial neural network
CN112101517B (en) FPGA implementation method based on piecewise linear impulse neuron network
US11016810B1 (en) Tile subsystem and method for automated data flow and data processing within an integrated circuit architecture
EP1569167A2 (en) Neural processing element for use in a neural network
WO2020078470A1 (en) Network-on-chip data processing method and device
CN109472356A (en) A kind of accelerator and method of restructural neural network algorithm
CN111105023B (en) Data stream reconstruction method and reconfigurable data stream processor
EP3144820A1 (en) Inter-cluster data communication network for a dynamic shared communication platform
CN117195989B (en) Vector processor, neural network accelerator, chip and electronic equipment
CN209231976U (en) A kind of accelerator of restructural neural network algorithm
Huang et al. IECA: An in-execution configuration CNN accelerator with 30.55 GOPS/mm² area efficiency
CN111831354A (en) Data precision configuration method, device, chip array, equipment and medium
CN114548390A (en) RISC-V and nerve morphology calculation-based heterogeneous architecture processing system
Fang et al. Spike trains encoding optimization for spiking neural networks implementation in fpga
CN114239806A (en) RISC-V structured multi-core neural network processor chip
US20190272460A1 (en) Configurable neural network processor for machine learning workloads
Yang et al. Unicorn: A multicore neuromorphic processor with flexible fan-in and unconstrained fan-out for neurons
Aung et al. Deepfire2: A convolutional spiking neural network accelerator on fpgas
CN109542513A (en) A kind of convolutional neural networks instruction data storage system and method
CN112180788B (en) Control platform architecture design method, storage medium and device of dynamic association context
CN114595813A (en) Heterogeneous acceleration processor and data calculation method
James et al. Design of low-cost, real-time simulation systems for large neural networks
WO2020051918A1 (en) Neuronal circuit, chip, system and method therefor, and storage medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19906568

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19906568

Country of ref document: EP

Kind code of ref document: A1