WO2020087278A1 - Big data computing acceleration system and method - Google Patents

Big data computing acceleration system and method Download PDF

Info

Publication number
WO2020087278A1
WO2020087278A1 PCT/CN2018/112693 CN2018112693W WO2020087278A1 WO 2020087278 A1 WO2020087278 A1 WO 2020087278A1 CN 2018112693 W CN2018112693 W CN 2018112693W WO 2020087278 A1 WO2020087278 A1 WO 2020087278A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
chip
arithmetic
storage unit
storage
Prior art date
Application number
PCT/CN2018/112693
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 北京比特大陆科技有限公司
Priority to PCT/CN2018/112693 priority Critical patent/WO2020087278A1/en
Publication of WO2020087278A1 publication Critical patent/WO2020087278A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake

Definitions

  • Embodiments of the present invention relate to the field of integrated circuits, and in particular, to a system and method for accelerating big data operations.
  • ASIC Application-specific integrated circuits
  • ASICs refer to integrated circuits designed and manufactured in response to specific user requirements and the needs of specific electronic systems.
  • the characteristics of ASICs are to meet the needs of specific users.
  • ASICs Compared with general-purpose integrated circuits, ASICs have the advantages of smaller size, lower power consumption, improved reliability, improved performance, enhanced confidentiality, and lower costs.
  • the embodiment of the present invention provides a big data operation acceleration system and method, which connects more than two ASIC operation chips to more than two storage units through a bus, and the operation chips exchange data through the storage units, which not only reduces the
  • the number of storage units also reduces the connection lines between ASIC operation chips, simplifies the system structure, and each ASIC operation chip is connected to multiple storage units separately, which will not cause conflicts when using the bus mode, and it is not necessary for each One ASIC operation chip sets Cache.
  • a big data operation acceleration system including more than two operation chips and more than two storage units;
  • the operation chip includes at least one first data interface (130) and More than 2 second data interfaces (150, 151, 152, 153),
  • the storage unit includes more than 2 second data interfaces (250, 251, 252, 253); each second data interface of the arithmetic chip (150, 151, 152, 153) One-to-one correspondence with each second data interface (250, 251, 252, 253) of the storage unit through the bus, used for transmitting data or control instructions;
  • the two or more Each at least one first data interface (130) of the arithmetic chip is connected through a bus, and is used to transmit control instructions.
  • the operation chip accepts external data through the at least one first data interface
  • the arithmetic chip stores external data to at least one storage unit of the two or more storage units through the two or more second data interfaces;
  • the arithmetic chip accepts external control instructions through the at least one first data interface
  • the arithmetic chip obtains data from the storage unit through the two or more second data interfaces;
  • the arithmetic chip operates on the data to obtain the operation result or intermediate data
  • the operation chip stores the operation result or intermediate data to at least one storage unit of the two or more storage units through the two or more second data interfaces;
  • the operation chip obtains operation results or intermediate data from the storage unit through the two or more second data interfaces, and feeds the operation results or intermediate data to the outside through the at least one first data interface.
  • the embodiment of the present invention achieves the technical effect of saving the number of memory units by reducing the number of memory units by connecting multiple operation chips in the big data operation acceleration system to each memory unit, and reducing the connection cost between ASIC operation chips.
  • the system structure is simplified, and each ASIC computing chip is connected to multiple storage units respectively, which will not cause conflicts when using the bus mode, and there is no need to set Cache for each ASIC computing chip.
  • FIG. 1 is a schematic structural diagram of a big data operation acceleration system provided by a first embodiment of the present invention
  • FIG. 2a is a schematic structural diagram of an arithmetic chip provided by a first embodiment of the present invention
  • 2b is a schematic diagram of the signal flow of the arithmetic chip provided by the first embodiment of the present invention.
  • 3a is a schematic structural diagram of an arithmetic chip provided by a second embodiment of the present invention.
  • 3b is a schematic diagram of a signal flow of an arithmetic chip provided by a second embodiment of the invention.
  • FIG. 4a is a schematic structural diagram of a storage unit provided by a third embodiment of the present invention.
  • 4b is a schematic diagram of a signal flow of a storage unit provided by a third embodiment of the present invention.
  • FIG. 5 is a schematic diagram of a connection structure of a big data operation acceleration system provided by a fourth embodiment of the present invention.
  • FIG. 6 is a schematic diagram of a data structure provided by a fifth embodiment of the present invention.
  • Multi-core chips are multi-processing systems embodied on a single large-scale integrated semiconductor chip.
  • two or more chip cores can be embodied on a multi-core chip, interconnected by a bus (which can also be formed on the same multi-core chip).
  • a bus which can also be formed on the same multi-core chip.
  • Multi-core chips can have applications that are implemented in multimedia and signal processing algorithms (such as video encoding / decoding, 2D / 3D graphics, audio and voice processing, image processing, telephony, voice recognition and voice synthesis, encryption processing) Special arithmetic and / or logical operations.
  • ASIC-specific integrated circuits are mentioned in the background art, the specific wiring implementation in the embodiments can be applied to CPUs, GPUs, FPGAs, etc. that have multi-core chips.
  • multiple cores may be the same core or different cores.
  • the number of operation chips may be N, where N is a positive integer greater than or equal to 2, for example, N may be 6, 10, 12, and so on.
  • the number of storage units may be M, where M is a positive integer greater than or equal to 2, for example, M may be 6, 9, 12, and so on.
  • N and M may be equal or unequal.
  • a plurality of arithmetic chips may be the same arithmetic chip or different arithmetic chips.
  • FIG. 1 is a schematic structural diagram of a big data operation acceleration system provided by a first embodiment of the present invention.
  • the big data operation acceleration system includes four operation chips and four storage units as an example for description. Please refer to Figure 1.
  • the big data operation acceleration system includes 4 operation chips (10, 11, 12, 13) and 4 storage units (20, 21, 22, 23); each operation chip is connected to all storage units, Optionally, the operation chip and the storage unit may be connected by a bus or by a data line.
  • the arithmetic chips exchange data through the storage unit, and data is not directly exchanged between the arithmetic chips; control instructions are sent between the arithmetic chips.
  • Each storage unit is provided with a dedicated storage area and a shared storage area; the dedicated storage area is used to store a temporary calculation result of one arithmetic chip, and the temporary calculation result is an intermediate calculation result that the one arithmetic chip continues to use, and Intermediate calculation results that other arithmetic chips will not use.
  • the shared storage area is used to store the data operation result of the operation chip, and the data operation result is used by other operation chips, or needs to be transmitted to the outside for feedback transmission. Of course, for convenience of management, the storage unit may not be divided.
  • the storage unit may be double data rate (Dual Data Rate, DDR), serial double data rate (Serial Dual Data Rate, SDDR), DDR2, DDR3, DDR4, double data rate for graphics (Graphics Double Data Rate, GDDR) 5, GDDR6, hybrid memory cube (Hybrid Memory Cube, HMC), high bandwidth memory (High Band Memory, HBM) and other high-speed external memories.
  • DDR Double Data Rate
  • SDDR Serial Dual Data Rate
  • DDR2 DDR3, DDR4 double data rate for graphics
  • GDDR6 hybrid memory cube
  • High Band Memory High Band Memory
  • the storage unit preferably selects DDR series memory
  • DDR memory is double rate synchronous dynamic random access memory.
  • DDR uses a synchronization circuit to ensure that the main steps of the specified address and data transmission and output are executed independently, while maintaining complete synchronization with the CPU;
  • DDR uses a delay locked loop (Delay Locked Loop, DL) to provide a data filtering signal technology, when When the data is valid, the memory controller can use this data filter signal to accurately locate the data, output it every 16 times, and resynchronize the data from different memory modules.
  • the frequency of DDR memory can be expressed in two ways: operating frequency and equivalent frequency.
  • the operating frequency is the actual operating frequency of the memory particles, but since DDR memory can transmit data on both the rising and falling edges of the pulse, the equivalent frequency of the transmitted data It is twice the operating frequency.
  • DDR2 memory is a new-generation memory technology standard developed by the Joint Electronic Equipment Engineering (JEDEC). Each clock of DDR2 memory can read / write data at 4 times the speed of the external bus, and can be controlled internally. The bus runs at 4 times the speed.
  • DDR3, DDR4, GDDR5, GDDR6, HMC, HBM memory are all existing technologies, and will not be described in detail here.
  • ASIC operation chips are connected to 4 storage units through a bus, and the operation chips exchange data through the storage units, which not only reduces the number of storage units, but also reduces the connection lines between ASIC operation chips,
  • the system structure is simplified, and each ASIC computing chip is connected to multiple storage units respectively, which will not cause conflicts when using the bus mode, and there is no need to set Cache for each ASIC computing chip.
  • FIG. 2a is a schematic structural diagram of an arithmetic chip provided by a first embodiment of the present invention.
  • the operation chip has 4 cores as an example for description. Those skilled in the art can know that 4 cores are selected here as an example, which is only an exemplary description.
  • the number of cores of the arithmetic chip may be Q, where Q is a positive integer greater than or equal to 2, for example, 6, 10, 12 etc. Wait.
  • the core of the arithmetic chip may be a core with the same function or a core with different functions.
  • the operation chip (10) of 4 cores includes 4 cores (110, 111, 112, 113), a routing unit (120), a data exchange control unit (130) and 4 serdes interfaces (150, 151, 152) , 153).
  • a data exchange control unit and four serdes interfaces are respectively connected to the routing unit through the bus, and the routing unit is connected to each core core.
  • the data exchange control unit can be implemented using multiple protocols, for example, Universal Asynchronous Receiver / Transmitter (UART), Serial Peripheral Interface (SPI), high-speed serial computer expansion bus standard ( peripheral component (interconnect express, PCIE), serializer / deserializer (SERializer / DESerializer, SERDES), universal serial bus (Universal Serial Bus, USB), etc.
  • the data exchange control unit is a UART control unit ( 130).
  • UART Universal asynchronous transceiver
  • UART is usually called UART, which is an asynchronous transceiver. It converts the data to be transmitted between serial communication and parallel communication.
  • UART is usually integrated on the connection of various communication interfaces. But here is just taking the UART protocol as an example, other protocols can also be used.
  • the UART control unit (130) can receive external data or control commands, send control commands to other chips, receive control commands from other chips, and feed back calculation results or intermediate data to the outside.
  • Serdes is a mainstream time division multiplexing (Time Division Multiplexing, TDM), point-to-point (Point to Point, P2P) serial communication technology. That is, multiple low-speed parallel signals at the transmitting end are converted into high-speed serial signals, and then through the transmission medium (optical cable or copper wire), and finally the high-speed serial signals at the receiving end are re-converted into low-speed parallel signals.
  • TDM Time Division Multiplexing
  • P2P Point to Point serial communication technology
  • This point-to-point serial communication technology makes full use of the channel capacity of the transmission medium, reduces the number of transmission channels and device pins required, increases the signal transmission speed, and thus greatly reduces the communication cost.
  • SSI Synchronous Serial Interface
  • UATR Data and control commands are transmitted between the chip and the storage unit through the serdes interface and the transmission line.
  • the core core's main functions are to execute external or internal control instructions, perform data calculation, and data storage control.
  • the routing unit is used to send data or control instructions to the core core (110, 111, 112, 113), and accepts data or control instructions sent by the core core (110, 111, 112, 113) to implement communication between the core cores.
  • the routing unit and the UART control unit (130) accept external control instructions and send control instructions to each core core (110, 111, 112, 113); the UART control unit (130) accepts external data and converts the external data according to the external data address Send to the core (110, 111, 112, 113) or storage unit.
  • the internal data or internal control commands refer to data or control commands generated by the chip itself, and the external data or external control commands refer to data or control commands generated outside the chip, such as data or control sent by an external host or an external network instruction.
  • FIG. 2b is a schematic diagram of the signal flow of the arithmetic chip provided by the first embodiment of the present invention.
  • the operation chip has 4 cores as an example for description.
  • the UART interface (130) is used to obtain external data or control instructions of the chip, and the routing unit (120) sends the data or control instructions to the core core according to the data or control instruction address, or the routing unit (120) passes The serdes interface is sent to the storage unit connected to the serdes interface. If the destination address of the external control instruction points to another chip, the routing unit sends the control instruction to the UART control unit (130), which is sent to the other chip by the UART control unit (130).
  • the UART interface (130) sends the operation result to the outside according to the external control instruction or the internal control instruction.
  • the operation result can be obtained from the core core of the operation chip, or can be obtained through the serdes interface to the storage unit connected to the serdes interface.
  • the external mentioned here may refer to an external host, an external network, an external platform, or the like. The external host can initialize and configure the storage unit parameters through the UART control unit, and uniformly address multiple storage particles.
  • the core core can send a control instruction to obtain or write data to the routing unit.
  • the control instruction carries the data address, and the routing unit reads or writes data to the storage unit through the serdes interface according to the address.
  • the core core may also send data or control instructions to other core cores through the routing unit according to the address, and obtain data or control instructions from other core cores through the routing unit.
  • the core calculates based on the acquired data and stores the calculation result in the storage unit.
  • Each storage unit is provided with a dedicated storage area and a shared storage area; the dedicated storage area is used to store a temporary calculation result of one arithmetic chip, and the temporary calculation result is an intermediate calculation result that the one arithmetic chip continues to use, and Intermediate calculation results that will not be used by other arithmetic chips; the shared storage area is used to store the data arithmetic results of the arithmetic chips. The data arithmetic results are used by other arithmetic chips, or need to be transmitted to the outside for feedback transmission. If the control command generated by the core core is used to control the operation of other chips, the routing unit sends the control command to the UART control unit (130), and the UART control unit (130) sends it to the other chips. If the control command generated by the core core is used to control the storage unit, the routing unit sends the control command to the storage unit through the serdes interface.
  • FIG. 3a is a schematic structural diagram of an arithmetic chip provided by a second embodiment of the present invention.
  • the operation chip has 4 cores as an example for description.
  • the operation chip of 4 cores includes 4 cores (110, 111, 112, 113), a routing unit (120), a UART control unit (130) and 4 serdes interfaces (150, 151, 152, 153). Each serdes interface is connected to one core core, 4 core cores are connected to the routing unit, and the UART control unit (130) is connected to the core core (110).
  • 3b is a schematic diagram of a signal flow of an arithmetic chip provided by a second embodiment of the invention.
  • the operation chip has 4 cores as an example for description.
  • the UART control unit (130) is used to acquire external data or control instructions of the chip, and transmit the external data or control instructions to the core core (110) connected to the UART control unit.
  • the core (110) transmits external data or control instructions to the routing unit (120), and the routing unit sends the data or control instructions to the core (111, 112, 113) corresponding to the data address according to the data or control instruction addresses.
  • the routing unit sends the data or control instruction to the core core (110, 111, 112, 113). If the destination address of the data or control instruction is a storage unit, then the core (111, 112, 113) is sent to the corresponding storage unit through the serdes interface (151, 152, 153).
  • the core (110) can also directly send data or control commands to the corresponding storage unit through the serdes interface (150) connected to it. In this case, the routing unit stores the serdes interface corresponding to all storage unit addresses.
  • the data is sent by the core (111, 112, 113) to the corresponding storage unit through the serdes interface (151, 152, 153); the control command is sent to the UART control unit to Other computing chips.
  • the core core feedbacks the operation result or intermediate data to the outside according to the external control instruction or the internal control instruction
  • the core core obtains the operation result or intermediate data from the storage unit from the serdes interface, and sends the operation result or intermediate data to the routing unit, and the routing unit will
  • the operation result or intermediate data is sent to the core (110) connected to the UART control unit, and finally the operation result or intermediate data is sent to the outside through the UART control unit.
  • the external mentioned here may refer to an external host, an external network, an external platform, or the like.
  • the external host can initialize and configure the storage unit parameters through the UART control unit, and address multiple storage units uniformly.
  • the core core can send control instructions to the routing unit.
  • the routing unit sends control instructions to other core cores, other chips, or storage units according to the address of the control instructions. After receiving the control instructions, the other cores, other chips, or storage units perform corresponding operations.
  • the core core sends control commands or data to other core cores, it is directly forwarded through the routing unit.
  • the core core sends control commands to other chips via the UART control unit.
  • the routing unit queries the serdes interface corresponding to the address according to the address, and sends the control command to the core core corresponding to the serdes interface, and then sends the core core to the corresponding serdes interface.
  • the serdes interface sends the storage unit to the storage unit. Send control commands.
  • the routing unit queries the serdes interface corresponding to the address according to the address, and sends control instructions to the core core corresponding to the serdes interface, and then the core core sends the corresponding serdes interface to the corresponding serdes interface.
  • the storage unit sends data. Other chips are acquiring data through the storage unit.
  • the kernel core When the kernel core obtains data from the memory unit, it reads the data address carried in the control instruction, and the routing unit queries the serdes interface corresponding to the address according to the address, and sends the control instruction to the kernel core corresponding to the serdes interface, and then the kernel core sends the corresponding The serdes interface, the serdes interface sends a read control instruction to the storage unit, and the instruction carries the destination address and the source address. After the serdes interface obtains data from the storage unit, the data is sent to the core core corresponding to the serdes interface. The core core sends the data packet including the source address and the destination address to the routing unit, and the routing unit sends the data packet to the corresponding according to the destination address Core.
  • the kernel core finds that the destination address is its own address, the kernel core obtains data for processing. And the core core can also send data or commands to other core cores through the routing unit, and obtain data or commands from other core cores through the routing unit. The core calculates based on the acquired data and stores the calculation result in the storage unit.
  • Each storage unit is provided with a dedicated storage area and a shared storage area; the dedicated storage area is used to store a temporary calculation result of one arithmetic chip, and the temporary calculation result is an intermediate calculation result that the one arithmetic chip continues to use, and Intermediate calculation results not used by other arithmetic chips; the shared storage area is used to store arithmetic data results of the arithmetic chips, which are used by other arithmetic chips, or need to be transmitted to the outside for feedback transmission.
  • FIG. 4a is a schematic structural diagram of a storage unit according to a third embodiment of the present invention.
  • a storage unit corresponds to an arithmetic chip having 4 cores, that is, in FIG. 4a, the storage unit corresponds to the arithmetic chip shown in the first embodiment.
  • the storage unit (20) includes C memories.
  • C is a positive integer greater than or equal to 2, for example, 6, 10, 12, etc .
  • the memory (240 , 241, 242, 243) includes storage controllers (220, 221, 222, 223) and storage particles (210, 211, 212, 213); the storage controller is used to write or read data to the storage particles according to instructions, store Particles are used to store data.
  • the storage unit (20) further includes a routing unit (230) and four serdes interfaces (250, 251, 252, 253). The four serdes interfaces are connected to the routing unit through the bus, and the routing unit is connected to each memory.
  • FIG. 4b is a schematic diagram of a signal flow of a storage unit provided by a third embodiment of the present invention.
  • a storage unit corresponds to an arithmetic chip having 4 cores, that is, in FIG. 4b, the storage unit corresponds to the arithmetic chip shown in the first embodiment.
  • the storage unit (20) accepts the control instruction through the serdes interface (250, 251, 252, 253) and sends the control instruction to the routing unit (230).
  • the routing unit sends the control instruction according to the address in the control instruction
  • the storage controller (220, 221, 222, 223) performs related operations according to the control instructions.
  • multiple storage particles are addressed uniformly; or according to the reset instruction, the storage particles are reset and reset; write instructions or read instructions and other operations.
  • the serdes interface (250, 251, 252, 253) accept the data acquisition instruction sent by the arithmetic chip, the instruction carries the address of the data to be acquired, the routing unit sends the data acquisition instruction to the memory according to the address, and the storage controller stores The data is obtained from the particles, and the data is sent to the computing chip that needs the data through the serdes interface according to the source address.
  • the routing unit sends the write data command and data to the memory according to the address, storage control
  • the device writes data to the storage particles according to the write data instruction.
  • the write data command and data can be transmitted synchronously or asynchronously.
  • Each storage unit is provided with a dedicated storage area and a shared storage area; the dedicated storage area is used to store a temporary calculation result of one arithmetic chip, and the temporary calculation result is an intermediate calculation result that the one arithmetic chip continues to use, and Intermediate calculation results not used by other arithmetic chips; the shared storage area is used to store arithmetic data results of the arithmetic chips, which are used by other arithmetic chips, or need to be transmitted to the outside for feedback transmission.
  • the big data operation acceleration system has 4 operation chips and 4 storage units as an example for description.
  • the big data operation acceleration system includes 4 operation chips (10, 11, 12, 13) and 4 storage units (20, 21, 22, 23).
  • the structure of the arithmetic chip may be the chip structure disclosed in the first embodiment and the second embodiment.
  • the arithmetic chip may also be an equivalent modified chip structure made by those skilled in the art for the first and second embodiments.
  • the chip structure is also within the scope of protection in this embodiment.
  • the structure of the storage unit may be the structure of the storage unit disclosed in the third embodiment.
  • the storage unit may also be an equivalently improved storage unit structure made by those skilled in the art for the third embodiment.
  • the UART control unit (130) of the operation chip (10) is connected to an external host, and the UART control unit (130) of each chip (10, 11, 12, 13) is connected through a bus.
  • Each serdes interface (150, 151, 152, 153) of the chip (10, 11, 12, 13) is connected to the serdes interface (250, 251, 252, 253) of a storage unit (20, 21, 22, 23),
  • each operation chip is connected to all storage units through a bus, the operation chip performs data exchange through the storage unit, and data is not directly exchanged between the operation chips.
  • the internal and external signal flows of the arithmetic chip and the storage unit have been described in detail in the first, second, and third embodiments, and will not be described again here.
  • the UART control unit (130) in any arithmetic chip may be connected to an external host, and the UART control units (130) in other arithmetic chips are connected in sequence.
  • the arithmetic chip connected to the external host can receive the control command of the external host through the UART control unit (130) and send the control command to other arithmetic chips.
  • the UART control unit (130) in the arithmetic chip 10 may be connected to an external host, the UART control unit (130) in the arithmetic chip 11 is connected to the UART control unit (130) in the arithmetic chip 10, and the UART in the arithmetic chip 12
  • the control unit (130) is connected to the UART control unit (130) in the arithmetic chip 11, and the UART control unit (130) in the arithmetic chips 1, 3 is connected to the UART control unit (130) in the arithmetic chip 12.
  • the UART control unit (130) in each arithmetic chip 12 may be connected to an external host respectively.
  • the system is applied in the field of artificial intelligence.
  • the UART control unit (130) of the arithmetic chip (10) stores the picture data or video data sent by the external host to the storage unit (20, 151, 152, 153) through the serdes interface (150, 151, 152, 153). 21, 22, 23), the arithmetic chip (10, 11, 12, 13) generates a mathematical model of the neural network, which can also be used by an external host through the serdes interface
  • the arithmetic chip (10) reads data from the storage unit (20, 21, 22, 23) through the serdes interface for operation, and stores the operation result through the serdes interface To at least one of the storage units (20, 21, 22, 23).
  • the arithmetic chip (10) sends a control instruction to the arithmetic chip (20) through the UART control unit (130), and starts the arithmetic chip (20) to perform arithmetic.
  • the arithmetic chip (20) Run the second layer of mathematical model of the neural network on the arithmetic chip (20), the arithmetic chip (20) reads data from the storage unit (20, 21, 22, 23) through the serdes interface for operation, and stores the operation result through the serdes interface To at least one of the storage units (20, 21, 22, 23). Each chip executes a layer in the neural network, and obtains data from the storage unit (20, 21, 22, 23) through the serdes interface for operation, and only the final layer of the neural network calculates the operation result.
  • the operation chip (10) obtains the operation result from the storage unit (20, 21, 22, 23) through the serdes interface, and feeds it back to the external host through the UART control unit (130).
  • the system is applied to the field of encrypted digital currency, and the UART control unit (130) of the arithmetic chip (10) stores the block information sent by the external host to at least one storage unit in the storage units (20, 21, 22, 23).
  • the external host sends control instructions to the four arithmetic chips (10, 11, 12, 13) through the arithmetic chip (10, 11, 12, 13) UART control unit (130), and the four arithmetic chips (10, 11, 12. 13) Start operation.
  • the external host can also send control instructions to one arithmetic chip (10) UART control unit (130) for data calculation, and the arithmetic chip (10) sends control instructions to the other three arithmetic chips (11, 12, 13) in sequence for data calculation , 4 arithmetic chips (10, 11, 12, 13) start the arithmetic operation.
  • one arithmetic chip (10) UART control unit (130) for data calculation
  • the arithmetic chip (10) sends control instructions to the other three arithmetic chips (11, 12, 13) in sequence for data calculation , 4 arithmetic chips (10, 11, 12, 13) start the arithmetic operation.
  • the external host may also send a control instruction to a computing chip (10) UART control unit (130) to perform data operations, the first computing chip (10) sends a control instruction to the second computing chip (11) to perform data operations, and the second computing chip (11) Send control instructions to the third arithmetic chip (12) for data calculation, the third arithmetic chip (12) sends control instructions to the fourth arithmetic chip (13) for data calculation, 4 arithmetic chips (10, 11, 12 , 13) Start operation.
  • a computing chip (10) UART control unit (130) to perform data operations
  • the first computing chip (10) sends a control instruction to the second computing chip (11) to perform data operations
  • the second computing chip (11) Send control instructions to the third arithmetic chip (12) for data calculation
  • the third arithmetic chip (12) sends control instructions to the fourth arithmetic chip (13) for data calculation
  • 4 arithmetic chips (10, 11, 12, 13) read the block information data from the storage unit through the serdes interface, 4 arithmetic chips (10, 11, 12, 13) simultaneously perform the proof of work calculation, the arithmetic chip ( 10) Obtain the operation result from the storage unit (20, 21, 22, 23) and feed it back to the external host through the UART control unit (130).
  • the number of the arithmetic chip and the storage unit are equal, and the number of the second data interface of the storage unit and the number of the second data interface of the arithmetic chip are both the number of the storage unit .
  • the number of the arithmetic chip and the storage unit may also be unequal.
  • the number of second data interfaces of the storage unit is the number of the arithmetic chip
  • the second The number of data interfaces is the number of storage units. For example, there are four arithmetic chips and five storage units. At this time, five second data interfaces are provided on the arithmetic chip, and four second data interfaces are provided on the storage unit.
  • the bus may use a centralized arbitration bus structure or a ring topology bus structure.
  • the bus technology is a common technology in the field, so it will not be described in detail here.
  • the data mentioned here is various data such as command data, numeric data, character data, and so on.
  • the data format specifically includes valid bit valid, destination address dst id, source address src id and data data.
  • the kernel can determine whether the data packet is a command or a value by valid bit. Here, it can be assumed that 0 represents a value and 1 represents a command.
  • the kernel will determine the destination address, source address and data type according to the data structure. From the perspective of instruction operation timing, the traditional six-stage pipeline structure is adopted in this embodiment, which are instruction fetch, decoding, execution, memory access, alignment and write-back stage respectively.
  • the instruction set of the present invention can be divided into register-register type instructions, register-immediate instruction, jump instruction, memory access instruction, control instruction and inter-core communication instruction according to functions.
  • the embodiments can be implemented as a machine, process, or article of manufacture by using standard programming and / or engineering techniques to produce programming software, firmware, hardware, or any combination thereof.
  • Any generated program (s) can be embodied on one or more computer-usable media, such as resident storage devices, smart cards or other removable storage devices, or transmission devices,
  • computer program products and manufactured products are produced according to the embodiments.
  • article of manufacture and “computer program product” as used herein are intended to cover computer programs that are permanently or temporarily present on any non-transitory medium that can be used by computers.
  • memory / storage devices include but are not limited to magnetic disks, optical disks, removable storage devices (such as smart cards, subscriber identity modules (SIM), wireless identification modules (Wireless Identification Module, WIM)), semiconductors Memory (such as random access memory (Random Access Memory, RAM), read only memory (Read Only Memory, ROM), programmable read only memory (Programmable Read Only Memory, PROM)), etc.
  • Transmission media include, but are not limited to, transmission via wireless communication networks, the Internet, intranets, telephone / modem-based network communications, hard-wired / cable communications networks, satellite communications, and other fixed or mobile network systems / communication links.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)

Abstract

Provided are a big data computing acceleration system and method. By means of setting multiple cores in a chip, each core performs computing and storage control functions, and at least one storage unit is connected to each core outside the chip. By means of the technical solution of the present invention, each core reads a storage unit connected to itself and storage units connected to other cores so as to achieve the technical effect of each core being able to have a large-capacity memory, thereby reducing the number of times data is moved into or out of a memory from an external storage space and accelerating a data processing speed. In addition, multiple cores can respectively perform independent computing or cooperative computing, which also accelerates the data processing speed.

Description

大数据运算加速系统及方法Big data operation acceleration system and method 技术领域Technical field
本发明实施例涉及集成电路领域,特别是涉及一种大数据运算加速系统及方法。Embodiments of the present invention relate to the field of integrated circuits, and in particular, to a system and method for accelerating big data operations.
背景技术Background technique
专用集成电路(Application Specific Integrated Circuits,ASIC)是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。ASIC的特点是面向特定用户的需求,ASIC在批量生产时与通用集成电路相比具有体积更小、功耗更低、可靠性提高、性能提高、保密性增强、成本降低等优点。Application-specific integrated circuits (Application Integrated Circuits, ASIC) refer to integrated circuits designed and manufactured in response to specific user requirements and the needs of specific electronic systems. The characteristics of ASICs are to meet the needs of specific users. Compared with general-purpose integrated circuits, ASICs have the advantages of smaller size, lower power consumption, improved reliability, improved performance, enhanced confidentiality, and lower costs.
随着科技的发展,越来越多的领域,比如人工智能、安全运算等都涉及大运算量的特定计算。针对特定运算,ASIC芯片可以发挥其运算快,功耗小等特定。同时,对于这些大运算量领域,为了提高数据的处理速度和处理能力,通常需要控制N个运算芯片同时进行工作。随着数据精度的不断提升,人工智能、安全运算等领域需要对越来越大的数据进行运算,为了存储数据一般需要给ASIC芯片配置多个存储单元,例如一块ASIC芯片要配置4块2G内存;这样N个运算芯片同时工作时,就需要4N块2NG内存。但是,在多运算芯片同时工作时,数据存储量不会超过2个G,这样就造成了存储单元的浪费,提高了系统成本。With the development of science and technology, more and more fields, such as artificial intelligence, security computing, etc., involve specific calculations with large amounts of computation. For specific operations, ASIC chips can play a specific role such as fast operation and low power consumption. At the same time, for these fields with large amount of calculation, in order to improve the data processing speed and processing capacity, it is usually necessary to control N operation chips to work simultaneously. With the continuous improvement of data accuracy, more and more data needs to be calculated in the fields of artificial intelligence and security computing. In order to store data, it is generally necessary to configure multiple storage units for the ASIC chip, for example, one ASIC chip needs to configure 4 2G memory ; In this way, when N arithmetic chips work at the same time, 4N 2NG memory is needed. However, when multiple computing chips work at the same time, the data storage capacity will not exceed 2 G, which causes a waste of storage units and increases system cost.
发明内容Summary of the invention
本发明实施例提供一种大数据运算加速系统及方法,将2个以上ASIC运算芯片通过总线分别和2个以上存储单元相连,所述运算芯片通过所述存储单元进行数据交换,这样不仅减少了存储单元的数量,也减少了ASIC运算芯片之间的连接线,简化了系统构造,并且每个ASIC运算芯片分别与多个存储单元连接,不会造成使用总线方式而发生冲突,也不用为每个ASIC运算芯片设置Cache。The embodiment of the present invention provides a big data operation acceleration system and method, which connects more than two ASIC operation chips to more than two storage units through a bus, and the operation chips exchange data through the storage units, which not only reduces the The number of storage units also reduces the connection lines between ASIC operation chips, simplifies the system structure, and each ASIC operation chip is connected to multiple storage units separately, which will not cause conflicts when using the bus mode, and it is not necessary for each One ASIC operation chip sets Cache.
为达到上述目的,根据本实施例的第一方面提供一种大数据运算加速系统,包括2个以上运算芯片和2个以上存储单元;所述运算芯片包括至少一个第一数据接口(130)和2个以上第二数据接口(150、151、152、153),所述存储单元包括2个以上第二数据接口(250、251、252、253);所述运算芯片的每个第二数据接口(150、151、152、153)通过总线与所述存储单元的每个第二数据接口(250、251、252、253)一一对应连接,用于传输数据或者控制指令;所述2个以上运算芯片的每个至少一个第一数据接口(130)通过总线相连接,用于传输控制指令。To achieve the above objective, according to a first aspect of this embodiment, a big data operation acceleration system is provided, including more than two operation chips and more than two storage units; the operation chip includes at least one first data interface (130) and More than 2 second data interfaces (150, 151, 152, 153), the storage unit includes more than 2 second data interfaces (250, 251, 252, 253); each second data interface of the arithmetic chip (150, 151, 152, 153) One-to-one correspondence with each second data interface (250, 251, 252, 253) of the storage unit through the bus, used for transmitting data or control instructions; the two or more Each at least one first data interface (130) of the arithmetic chip is connected through a bus, and is used to transmit control instructions.
根据本实施例的第二方面,提供上述系统执行运算的方法,所述运算芯片通过所述至少一个第一数据接口接受外部数据;According to a second aspect of this embodiment, there is provided a method for the above system to perform an operation, the operation chip accepts external data through the at least one first data interface;
所述运算芯片通过所述2个以上第二数据接口将外部数据存储到所述2个以上存储单元中的至少一个存储单元;The arithmetic chip stores external data to at least one storage unit of the two or more storage units through the two or more second data interfaces;
所述运算芯片通过所述至少一个第一数据接口接受外部控制指令;The arithmetic chip accepts external control instructions through the at least one first data interface;
所述运算芯片通过所述2个以上第二数据接口从所述存储单元获取数据;The arithmetic chip obtains data from the storage unit through the two or more second data interfaces;
所述运算芯片对数据进行运算,获得运算结果或者中间数据;The arithmetic chip operates on the data to obtain the operation result or intermediate data;
所述运算芯片通过所述2个以上第二数据接口将运算结果或者中间数据存储到所述2个以上存储单元中的至少一个存储单元;The operation chip stores the operation result or intermediate data to at least one storage unit of the two or more storage units through the two or more second data interfaces;
所述运算芯片通过所述2个以上第二数据接口从所述存储单元获取运算结果或者中间数据,将运算结果或者中间数据通过所述至少一个第一数据接口向外部反馈。The operation chip obtains operation results or intermediate data from the storage unit through the two or more second data interfaces, and feeds the operation results or intermediate data to the outside through the at least one first data interface.
本发明实施例通过将大数据运算加速系统中多个运算芯片分别和每个内存单元相连,达到了节省内存单元数量的技术效果,降低了系统成本也减少了ASIC运算芯片之间的连接线,简化了系统构造,并且每个ASIC运算芯片分别与多个存储单元连接,不会造成使用总线方式而发生冲突,也不用为每个ASIC运算芯片设置Cache。The embodiment of the present invention achieves the technical effect of saving the number of memory units by reducing the number of memory units by connecting multiple operation chips in the big data operation acceleration system to each memory unit, and reducing the connection cost between ASIC operation chips. The system structure is simplified, and each ASIC computing chip is connected to multiple storage units respectively, which will not cause conflicts when using the bus mode, and there is no need to set Cache for each ASIC computing chip.
附图说明BRIEF DESCRIPTION
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面 描述中的附图仅仅是示例性的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly explain the embodiments of the present invention or the technical solutions in the prior art, the following will briefly introduce the drawings required in the embodiments or the description of the prior art. Obviously, the drawings in the following description These are exemplary embodiments. For a person of ordinary skill in the art, without paying any creative work, other drawings may be obtained based on these drawings.
图1为本发明第一实施例提供的大数据运算加速系统的结构示意图;1 is a schematic structural diagram of a big data operation acceleration system provided by a first embodiment of the present invention;
图2a为本发明第一实施例提供的运算芯片的结构示意图;2a is a schematic structural diagram of an arithmetic chip provided by a first embodiment of the present invention;
图2b为本发明第一实施例提供的运算芯片的信号流程示意图;2b is a schematic diagram of the signal flow of the arithmetic chip provided by the first embodiment of the present invention;
图3a为本发明第二实施例提供的运算芯片的结构示意图;3a is a schematic structural diagram of an arithmetic chip provided by a second embodiment of the present invention;
图3b为本发明第二实施例提供的运算芯片的信号流程示意图;3b is a schematic diagram of a signal flow of an arithmetic chip provided by a second embodiment of the invention;
图4a为本发明第三实施例提供的存储单元的结构示意图;4a is a schematic structural diagram of a storage unit provided by a third embodiment of the present invention;
图4b为本发明第三实施例提供的存储单元的信号流程示意图;4b is a schematic diagram of a signal flow of a storage unit provided by a third embodiment of the present invention;
图5为本发明第四实施例提供的大数据运算加速系统的连接结构示意图;5 is a schematic diagram of a connection structure of a big data operation acceleration system provided by a fourth embodiment of the present invention;
图6为本发明第五实施例提供的数据结构示意图。6 is a schematic diagram of a data structure provided by a fifth embodiment of the present invention.
具体实施方式detailed description
下面将基于附图具体说明本实施例的示例性实施方式,应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。The following will specifically describe exemplary implementations of this embodiment based on the drawings. It should be understood that these implementations are given only to enable those skilled in the art to better understand and implement the present invention, and do not limit the present invention in any way. Scope. On the contrary, these embodiments are provided to make the present disclosure more thorough and complete, and to fully convey the scope of the present disclosure to those skilled in the art.
此外,需要说明书的是,各附图中的上、下、左、右的各方向仅是以特定的实施方式进行的例示,本领域技术人员能够根据实际需要将附图中所示的各构件的一部分或全部改变方向来应用,而不会影响各构件或系统整体实现其功能,这种改变了方向的技术方案仍属于本发明的保护范围。In addition, it is necessary to describe that the directions of up, down, left, and right in each drawing are only exemplified by specific embodiments, and those skilled in the art can change the components shown in the drawings according to actual needs. Part or all of them are changed in direction to be applied, without affecting each component or system as a whole to realize its function. Such a technical solution that changes direction still belongs to the protection scope of the present invention.
多核芯片是具体化在单个大规模集成半导体芯片上的多处理系统。典型地,两个或更多芯片核心可以被具体化在多核芯片上,由总线(也可以在相同的多核芯片上形成该总线)进行互连。可以有从两个芯片核心到许多芯片核心被具体化在相同的多核芯片上,在芯片核心的数量中的上限仅由制造能力和性能约束来限制。多核芯片可以具有应用,该应用包含在多媒体和信号处理算法(诸如,视频编码/解码、2D/3D图形、音频和语音处理、图像处理、电话、语音识别和声音合成、加密处理)中执行的专门的算术和/或逻辑操作。Multi-core chips are multi-processing systems embodied on a single large-scale integrated semiconductor chip. Typically, two or more chip cores can be embodied on a multi-core chip, interconnected by a bus (which can also be formed on the same multi-core chip). There can be from two chip cores to many chip cores embodied on the same multi-core chip, and the upper limit in the number of chip cores is limited only by manufacturing capabilities and performance constraints. Multi-core chips can have applications that are implemented in multimedia and signal processing algorithms (such as video encoding / decoding, 2D / 3D graphics, audio and voice processing, image processing, telephony, voice recognition and voice synthesis, encryption processing) Special arithmetic and / or logical operations.
虽然在背景技术中仅仅提到了ASIC专用集成电路,但是实施例中的具体布线实现方式可以应用到具有多核芯片CPU、GPU、FPGA等中。在本实施例中多个内核可以是相同内核,也可以是不同内核。Although only ASIC-specific integrated circuits are mentioned in the background art, the specific wiring implementation in the embodiments can be applied to CPUs, GPUs, FPGAs, etc. that have multi-core chips. In this embodiment, multiple cores may be the same core or different cores.
为了方便说明,以下将以图1中存在的4个运算芯片和4个存储单元的大数据运算加速系统为例进行说明,而本领域技术人员可知,这里选择4个运算芯片和4个存储单元为例,只是示例性的说明,运算芯片个数可以是N,其中N为大于或等于2的正整数,例如,N可以是6、10、12等等。存储单元个数可以是M,其中M为大于或等于2的正整数,例如,M可以是6、9、12等等。在实施例中N和M可以相等,也可以不相等。在本实施例中多个运算芯片可以是相同的运算芯片,也可以是不同的运算芯片。For convenience of explanation, the following will take the big data operation acceleration system of 4 operation chips and 4 storage units in FIG. 1 as an example for description, and those skilled in the art will know that 4 operation chips and 4 storage units are selected here For example, it is only an exemplary description. The number of operation chips may be N, where N is a positive integer greater than or equal to 2, for example, N may be 6, 10, 12, and so on. The number of storage units may be M, where M is a positive integer greater than or equal to 2, for example, M may be 6, 9, 12, and so on. In the embodiment, N and M may be equal or unequal. In this embodiment, a plurality of arithmetic chips may be the same arithmetic chip or different arithmetic chips.
图1为本发明第一实施例提供的大数据运算加速系统的结构示意图。在图1所示的实施例中,以大数据运算加速系统包括四个运算芯片和4个存储单元为例进行说明。请参见图1,大数据运算加速系统包括4个运算芯片(10、11、12、13)和4个存储单元(20、21、22、23);每个运算芯片和所有存储单元相连,可选的,运算芯片和存储单元之间可以通过总线连接,也可以通过数据线连接。所述运算芯片通过所述存储单元进行数据交换,运算芯片之间不直接交换数据;运算芯片之间发送控制指令。FIG. 1 is a schematic structural diagram of a big data operation acceleration system provided by a first embodiment of the present invention. In the embodiment shown in FIG. 1, the big data operation acceleration system includes four operation chips and four storage units as an example for description. Please refer to Figure 1. The big data operation acceleration system includes 4 operation chips (10, 11, 12, 13) and 4 storage units (20, 21, 22, 23); each operation chip is connected to all storage units, Optionally, the operation chip and the storage unit may be connected by a bus or by a data line. The arithmetic chips exchange data through the storage unit, and data is not directly exchanged between the arithmetic chips; control instructions are sent between the arithmetic chips.
每个存储单元中设置专有存储区域和共享存储区域;所述专有存储区域用于存储一个运算芯片的临时运算结果,该临时运算结果为所述一个运算芯片继续利用的中间计算结果,而其他运算芯片不会使用的中间计算结果。所述共享存储区域用于存储运算芯片的数据运算结果,数据运算结果被其他运算芯片使用,或者需要向外部进行反馈传输。当然,为了方便管理也可以不对存储单元进行划分。这里存储单元可能为双倍数据速率(Dual Data Rate,DDR)、串行双倍数据速率(serial Dual Data Rate,SDDR)、DDR2、DDR3、DDR4、图形用双倍数据速率(Graphics Double Data Rate,GDDR)5、GDDR6、混合内存立方体(Hybrid Memory Cube,HMC)、高带宽内存(High Band Memory,HBM)等高速外部存储器。在这里存储单元优选的选择DDR系列内存,DDR内存即双倍速率同步动态随机存储器。DDR运用了同步电路,使指定地址、数据的输送和输出主要步骤既独立执行,又保持与CPU完全同步;DDR使用了延时锁定回路(Delay Locked Loop,DL)提供一个数据滤波信号技 术,当数据有效时,存储控制器可使用这个数据滤波信号来精确定位数据,每16次输出一次,并重新同步来自不同存储器模块的数据。DDR内存的频率可以用工作频率和等效频率两种方式表示,工作频率是内存颗粒实际的工作频率,但是由于DDR内存可以在脉冲的上升和下降沿都传输数据,因此传输数据的等效频率是工作频率的两倍。DDR2内存是由电子设备工程联合委员会(Joint Electron Device Engineering Council,JEDEC)进行开发的新生代内存技术标准,DDR2内存每个时钟能够以4倍外部总线的速度读/写数据,并且能够以内部控制总线4倍的速度运行。DDR3、DDR4、GDDR5、GDDR6、HMC、HBM内存都是现有技术,这里就不详细介绍。Each storage unit is provided with a dedicated storage area and a shared storage area; the dedicated storage area is used to store a temporary calculation result of one arithmetic chip, and the temporary calculation result is an intermediate calculation result that the one arithmetic chip continues to use, and Intermediate calculation results that other arithmetic chips will not use. The shared storage area is used to store the data operation result of the operation chip, and the data operation result is used by other operation chips, or needs to be transmitted to the outside for feedback transmission. Of course, for convenience of management, the storage unit may not be divided. Here, the storage unit may be double data rate (Dual Data Rate, DDR), serial double data rate (Serial Dual Data Rate, SDDR), DDR2, DDR3, DDR4, double data rate for graphics (Graphics Double Data Rate, GDDR) 5, GDDR6, hybrid memory cube (Hybrid Memory Cube, HMC), high bandwidth memory (High Band Memory, HBM) and other high-speed external memories. Here, the storage unit preferably selects DDR series memory, DDR memory is double rate synchronous dynamic random access memory. DDR uses a synchronization circuit to ensure that the main steps of the specified address and data transmission and output are executed independently, while maintaining complete synchronization with the CPU; DDR uses a delay locked loop (Delay Locked Loop, DL) to provide a data filtering signal technology, when When the data is valid, the memory controller can use this data filter signal to accurately locate the data, output it every 16 times, and resynchronize the data from different memory modules. The frequency of DDR memory can be expressed in two ways: operating frequency and equivalent frequency. The operating frequency is the actual operating frequency of the memory particles, but since DDR memory can transmit data on both the rising and falling edges of the pulse, the equivalent frequency of the transmitted data It is twice the operating frequency. DDR2 memory is a new-generation memory technology standard developed by the Joint Electronic Equipment Engineering (JEDEC). Each clock of DDR2 memory can read / write data at 4 times the speed of the external bus, and can be controlled internally. The bus runs at 4 times the speed. DDR3, DDR4, GDDR5, GDDR6, HMC, HBM memory are all existing technologies, and will not be described in detail here.
将4个ASIC运算芯片通过总线分别和4个存储单元相连,所述运算芯片通过所述存储单元进行数据交换,这样不仅减少了存储单元的数量,也减少了ASIC运算芯片之间的连接线,简化了系统构造,并且每个ASIC运算芯片分别与多个存储单元连接,不会造成使用总线方式而发生冲突,也不用为每个ASIC运算芯片设置Cache。4 ASIC operation chips are connected to 4 storage units through a bus, and the operation chips exchange data through the storage units, which not only reduces the number of storage units, but also reduces the connection lines between ASIC operation chips, The system structure is simplified, and each ASIC computing chip is connected to multiple storage units respectively, which will not cause conflicts when using the bus mode, and there is no need to set Cache for each ASIC computing chip.
图2a为本发明第一实施例提供的运算芯片的结构示意图。在图2a中,以运算芯片具有4个内核为例进行说明。而本领域技术人员可知,这里选择4个内核为例,只是示例性的说明,运算芯片内核的个数可以是Q,其中Q为大于等于2的正整数,例如可以是6、10、12等等。在本实施例中运算芯片内核可以是具有相同功能的内核,也可以是不同功能的内核。2a is a schematic structural diagram of an arithmetic chip provided by a first embodiment of the present invention. In FIG. 2a, the operation chip has 4 cores as an example for description. Those skilled in the art can know that 4 cores are selected here as an example, which is only an exemplary description. The number of cores of the arithmetic chip may be Q, where Q is a positive integer greater than or equal to 2, for example, 6, 10, 12 etc. Wait. In this embodiment, the core of the arithmetic chip may be a core with the same function or a core with different functions.
4个内核的运算芯片(10)包括4个内核core(110、111、112、113)、一个路由单元(120)、一个数据交换控制单元(130)和4个serdes接口(150、151、152、153)。一个数据交换控制单元、4个serdes接口通过总线分别与路由单元相连,路由单元再和每个内核core相连。数据交换控制单元可以采用多种协议进行实现,例如,通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,UART),串行外设接口(Serial Peripheral Interface,SPI),高速串行计算机扩展总线标准(peripheral component interconnect express,PCIE),串行器/解串器(SERializer/DESerializer,SERDES),通用串行总线(Universal Serial Bus,USB)等,在本实施方式中数据交换控制单元为UART控制单元(130)。通用异步收发传输器通常称作UART,是一种异步收发传输器,它将要传输的资料在串行通信与并行通信之间加以转换,UART通常 被集成于各种通讯接口的连结上。但是这里只是以UART协议为例进行说,也可以采用其他协议。UART控制单元(130)可以接受外部数据或者控制指令,向其他芯片发送控制指令,从其他芯片接受控制指令,以及向外部反馈运算结果或者中间数据等。The operation chip (10) of 4 cores includes 4 cores (110, 111, 112, 113), a routing unit (120), a data exchange control unit (130) and 4 serdes interfaces (150, 151, 152) , 153). A data exchange control unit and four serdes interfaces are respectively connected to the routing unit through the bus, and the routing unit is connected to each core core. The data exchange control unit can be implemented using multiple protocols, for example, Universal Asynchronous Receiver / Transmitter (UART), Serial Peripheral Interface (SPI), high-speed serial computer expansion bus standard ( peripheral component (interconnect express, PCIE), serializer / deserializer (SERializer / DESerializer, SERDES), universal serial bus (Universal Serial Bus, USB), etc. In this embodiment, the data exchange control unit is a UART control unit ( 130). Universal asynchronous transceiver is usually called UART, which is an asynchronous transceiver. It converts the data to be transmitted between serial communication and parallel communication. UART is usually integrated on the connection of various communication interfaces. But here is just taking the UART protocol as an example, other protocols can also be used. The UART control unit (130) can receive external data or control commands, send control commands to other chips, receive control commands from other chips, and feed back calculation results or intermediate data to the outside.
serdes是一种主流的时分多路复用(Time Division Multiplexing,TDM)、点对点(Point to Point,P2P)的串行通信技术。即在发送端多路低速并行信号被转换成高速串行信号,经过传输媒体(光缆或铜线),最后在接收端高速串行信号重新转换成低速并行信号。这种点对点的串行通信技术充分利用传输媒体的信道容量,减少所需的传输信道和器件引脚数目,提升信号的传输速度,从而大大降低通信成本。当然,这里也可以采用其他的通信接口代替serdes接口,例如:同步串行接口(Synchronous Serial Interface,SSI)、UATR。芯片和存储单元之间通过serdes接口和传输线进行数据和控制指令传输。Serdes is a mainstream time division multiplexing (Time Division Multiplexing, TDM), point-to-point (Point to Point, P2P) serial communication technology. That is, multiple low-speed parallel signals at the transmitting end are converted into high-speed serial signals, and then through the transmission medium (optical cable or copper wire), and finally the high-speed serial signals at the receiving end are re-converted into low-speed parallel signals. This point-to-point serial communication technology makes full use of the channel capacity of the transmission medium, reduces the number of transmission channels and device pins required, increases the signal transmission speed, and thus greatly reduces the communication cost. Of course, other communication interfaces can also be used instead of the serdes interface, for example: Synchronous Serial Interface (SSI), UATR. Data and control commands are transmitted between the chip and the storage unit through the serdes interface and the transmission line.
内核core的主要功能是执行外部或者内部控制指令、执行数据计算以及数据的存储控制等功能。The core core's main functions are to execute external or internal control instructions, perform data calculation, and data storage control.
路由单元用于向内核core(110、111、112、113)发送数据或者控制指令,并且接受内核core(110、111、112、113)发送数据或者控制指令,实现内核core之间的通信。接受内部或者外部控制指令通过serdes接口向存储单元写入数据、读取数据或者向内存单元发送控制指令;如果内部或者外部控制指令用于控制其他芯片的控制指令,则路由单元将控制指令发送给UART控制单元(130),由UART控制单元(130)向其他芯片发送;如果需要向其他芯片发送数据时,路由单元通过serdes接口向存储单元传输数据,其他芯片通过存储单元获取数据;如果需要从其他芯片接受数据时,路由单元通过serdes接口从存储单元获取数据。路由单元以及通过UART控制单元(130)接受外部控制指令,向各个内核core(110、111、112、113)发送控制指令;通过UART控制单元(130)接受外部数据,根据外部数据地址将外部数据发送给内核core(110、111、112、113)或者存储单元。所述的内部数据或者内部控制指令是指芯片自身产生的数据或者控制指令,所述外部数据或者外部控制指令是指芯片外部产生的数据或者控制指令,例如外部主机、外部网络发送的数据或者控制指令。The routing unit is used to send data or control instructions to the core core (110, 111, 112, 113), and accepts data or control instructions sent by the core core (110, 111, 112, 113) to implement communication between the core cores. Accept internal or external control instructions to write data to the storage unit, read data or send control instructions to the memory unit through the serdes interface; if the internal or external control instructions are used to control the control instructions of other chips, the routing unit sends the control instructions to UART control unit (130), sent by the UART control unit (130) to other chips; if data needs to be sent to other chips, the routing unit transmits data to the storage unit through the serdes interface, and other chips obtain data through the storage unit; if needed When other chips receive data, the routing unit obtains data from the storage unit through the serdes interface. The routing unit and the UART control unit (130) accept external control instructions and send control instructions to each core core (110, 111, 112, 113); the UART control unit (130) accepts external data and converts the external data according to the external data address Send to the core (110, 111, 112, 113) or storage unit. The internal data or internal control commands refer to data or control commands generated by the chip itself, and the external data or external control commands refer to data or control commands generated outside the chip, such as data or control sent by an external host or an external network instruction.
图2b为本发明第一实施例提供的运算芯片的信号流程示意图。在图2b 中,以运算芯片具有4个内核为例进行说明。请参见图2b,所述UART接口(130)用于获取芯片外部数据或者控制指令,路由单元(120)根据数据或者控制指令地址将数据或者控制指令发送给内核core,或者路由单元(120)通过serdes接口发送给serdes接口连接的存储单元。如果外部控制指令的目的地址指向其他芯片,则路由单元将控制指令发送给UART控制单元(130),由UART控制单元(130)向其他芯片发送。UART接口(130)根据外部控制指令或者内部控制指令将运算结果发送给外部,运算结果可以从运算芯片的内核core获取,也可以通过serdes接口获取serdes接口连接的存储单元获取。这里所述的外部可以是指外部主机、外部网络或者外部平台等。外部主机能通过UART控制单元初始化配置存储单元参数,对多个存储颗粒进行统一编址。2b is a schematic diagram of the signal flow of the arithmetic chip provided by the first embodiment of the present invention. In FIG. 2b, the operation chip has 4 cores as an example for description. Referring to FIG. 2b, the UART interface (130) is used to obtain external data or control instructions of the chip, and the routing unit (120) sends the data or control instructions to the core core according to the data or control instruction address, or the routing unit (120) passes The serdes interface is sent to the storage unit connected to the serdes interface. If the destination address of the external control instruction points to another chip, the routing unit sends the control instruction to the UART control unit (130), which is sent to the other chip by the UART control unit (130). The UART interface (130) sends the operation result to the outside according to the external control instruction or the internal control instruction. The operation result can be obtained from the core core of the operation chip, or can be obtained through the serdes interface to the storage unit connected to the serdes interface. The external mentioned here may refer to an external host, an external network, an external platform, or the like. The external host can initialize and configure the storage unit parameters through the UART control unit, and uniformly address multiple storage particles.
内核core可以向路由单元发送获取或者写入数据的控制指令,控制指令中携带数据地址,路由单元根据地址通过serdes接口向存储单元读取或者写入数据。内核core也可以根据地址通过路由单元向其他内核core发送数据或者控制指令,并且通过路由单元从其他内核core获取数据或者控制指令。内核core根据获取的数据进行计算,并将计算结果存储到存储单元中。每个存储单元中设置专有存储区域和共享存储区域;所述专有存储区域用于存储一个运算芯片的临时运算结果,该临时运算结果为所述一个运算芯片继续利用的中间计算结果,而其他运算芯片不会使用的中间计算结果;所述共享存储区域用于存储运算芯片的数据运算结果,数据运算结果被其他运算芯片使用,或者需要向外部进行反馈传输。如果内核core产生的控制指令用于控制其他芯片的操作,则路由单元将控制指令发送给UART控制单元(130),由UART控制单元(130)向其他芯片发送。如果内核core产生的控制指令用于控制存储单元,则路由单元通过serdes接口向存储单元发送控制指令。The core core can send a control instruction to obtain or write data to the routing unit. The control instruction carries the data address, and the routing unit reads or writes data to the storage unit through the serdes interface according to the address. The core core may also send data or control instructions to other core cores through the routing unit according to the address, and obtain data or control instructions from other core cores through the routing unit. The core calculates based on the acquired data and stores the calculation result in the storage unit. Each storage unit is provided with a dedicated storage area and a shared storage area; the dedicated storage area is used to store a temporary calculation result of one arithmetic chip, and the temporary calculation result is an intermediate calculation result that the one arithmetic chip continues to use, and Intermediate calculation results that will not be used by other arithmetic chips; the shared storage area is used to store the data arithmetic results of the arithmetic chips. The data arithmetic results are used by other arithmetic chips, or need to be transmitted to the outside for feedback transmission. If the control command generated by the core core is used to control the operation of other chips, the routing unit sends the control command to the UART control unit (130), and the UART control unit (130) sends it to the other chips. If the control command generated by the core core is used to control the storage unit, the routing unit sends the control command to the storage unit through the serdes interface.
图3a为本发明第二实施例提供的运算芯片的结构示意图。在图3a中,以运算芯片具有4个内核为例进行说明。根据图3a所示可知,4个内核的运算芯片包括4个内核core(110、111、112、113)、一个路由单元(120)、一个UART控制单元(130)和4个serdes接口(150、151、152、153)。每个serdes接口连接一个内核core,4个内核core连接于路由单元,所述UART控制单元(130)连接于内核core(110)。FIG. 3a is a schematic structural diagram of an arithmetic chip provided by a second embodiment of the present invention. In FIG. 3a, the operation chip has 4 cores as an example for description. As can be seen from Figure 3a, the operation chip of 4 cores includes 4 cores (110, 111, 112, 113), a routing unit (120), a UART control unit (130) and 4 serdes interfaces (150, 151, 152, 153). Each serdes interface is connected to one core core, 4 core cores are connected to the routing unit, and the UART control unit (130) is connected to the core core (110).
图3b为本发明第二实施例提供的运算芯片的信号流程示意图。在图3b中,以运算芯片具有4个内核为例进行说明。请参见图3b,所述UART控制单元(130)用于获取芯片外部数据或者控制指令,将外部数据或者控制指令传输给和UART控制单元连接的内核core(110)。内核core(110)将外部数据或者控制指令传输给路由单元(120),路由单元根据数据或者控制指令地址将数据或者控制指令发送给数据地址对应的内核core(111、112、113)。如果数据或者控制指令的目的地址为本运算芯片的内核core,则路由单元将数据或者控制指令发送给内核core(110、111、112、113)。如果数据或控制指令的目的地址为存储单元,再由内核core(111、112、113)通过serdes接口(151、152、153)发送给对应的存储单元。内核core(110)也可以直接将数据或者控制指令通过自身连接的serdes接口(150)发送给对应的存储单元。在这种情况下,路由单元存储所有存储单元地址所对应的serdes接口。如果数据或者控制指令的目的地址为其他运算芯片,则数据由内核core(111、112、113)通过serdes接口(151、152、153)发送给对应的存储单元;控制指令通过UART控制单元发送给其他运算芯片。内核core根据外部控制指令或者内部控制指令将运算结果或者中间数据反馈给外部时,内核core从serdes接口从存储单元获取运算结果或者中间数据,将运算结果或者中间数据发送给路由单元,路由单元将运算结果或者中间数据发送给UART控制单元连接的内核core(110),最后通过UART控制单元将运算结果或者中间数据发送给外部。如果是由UART控制单元连接的内核core所对应的serdes接口获得运算结果或者中间数据,这时就直接通过UART控制单元将运算结果或者中间数据发送给外部。这里所述的外部可以是指外部主机、外部网络或者外部平台等。外部主机能通过UART控制单元初始化配置存储单元参数,对多个存储单元进行统一编址。3b is a schematic diagram of a signal flow of an arithmetic chip provided by a second embodiment of the invention. In FIG. 3b, the operation chip has 4 cores as an example for description. Referring to FIG. 3b, the UART control unit (130) is used to acquire external data or control instructions of the chip, and transmit the external data or control instructions to the core core (110) connected to the UART control unit. The core (110) transmits external data or control instructions to the routing unit (120), and the routing unit sends the data or control instructions to the core (111, 112, 113) corresponding to the data address according to the data or control instruction addresses. If the destination address of the data or control instruction is the core core of the arithmetic chip, the routing unit sends the data or control instruction to the core core (110, 111, 112, 113). If the destination address of the data or control instruction is a storage unit, then the core (111, 112, 113) is sent to the corresponding storage unit through the serdes interface (151, 152, 153). The core (110) can also directly send data or control commands to the corresponding storage unit through the serdes interface (150) connected to it. In this case, the routing unit stores the serdes interface corresponding to all storage unit addresses. If the destination address of the data or control command is another arithmetic chip, the data is sent by the core (111, 112, 113) to the corresponding storage unit through the serdes interface (151, 152, 153); the control command is sent to the UART control unit to Other computing chips. When the core core feedbacks the operation result or intermediate data to the outside according to the external control instruction or the internal control instruction, the core core obtains the operation result or intermediate data from the storage unit from the serdes interface, and sends the operation result or intermediate data to the routing unit, and the routing unit will The operation result or intermediate data is sent to the core (110) connected to the UART control unit, and finally the operation result or intermediate data is sent to the outside through the UART control unit. If the serdes interface corresponding to the core core connected by the UART control unit obtains the operation result or intermediate data, then the operation result or intermediate data is directly sent to the outside through the UART control unit. The external mentioned here may refer to an external host, an external network, an external platform, or the like. The external host can initialize and configure the storage unit parameters through the UART control unit, and address multiple storage units uniformly.
内核core可以向路由单元发送控制指令,路由单元根据控制指令的地址向其他内核core、其他芯片或者存储单元发送控制指令,其他内核core、其他芯片或者存储单元接受控制指令后,执行相应的操作。内核core向其他内核core发送控制指令或者数据时,通过路由单元直接转发。内核core向其他芯片发送控制指令通过UART控制单元发送。内核core向存储单元发送控制指令时,路由单元根据地址查询地址所对应的serdes接口,将控制指令发送 给serdes接口对应的内核core,再由内核core发送给对应的serdes接口,serdes接口向存储单元发送控制指令。内核core向其他芯片或者存储单元发送数据时,路由单元根据地址查询地址所对应的serdes接口,将控制指令发送给serdes接口对应的内核core,再由内核core发送给对应的serdes接口,serdes接口向存储单元发送数据。其他芯片在通过存储单元获取数据。内核core从内存单元获取数据时,读取控制指令中携带数据地址,路由单元根据地址查询地址所对应的serdes接口,将控制指令发送给serdes接口对应的内核core,再由内核core发送给对应的serdes接口,serdes接口向存储单元发送读取控制指令,指令中携带目的地址和源地址。serdes接口从存储单元获取数据后,将数据发送给serdes接口对应的内核core,内核core将包括源地址和目的地址的数据包发送给路由单元,路由单元根据目的地址将所述数据包发送给对应的内核core。如果内核core发现该目的地址为其自身地址的话,则内核core获取数据进行处理。并且内核core也可以通过路由单元向其他内核core发送数据或者命令,并且通过路由单元从其他内核core获取数据或者命令。内核core根据获取的数据进行计算,并将计算结果存储到存储单元中。每个存储单元中设置专有存储区域和共享存储区域;所述专有存储区域用于存储一个运算芯片的临时运算结果,该临时运算结果为所述一个运算芯片继续利用的中间计算结果,而其他运算芯片不会使用的中间计算结果;所述共享存储区域用于存储运算芯片的运算数据结果,该运算数据结果被其他运算芯片使用,或者需要向外部进行反馈传输。The core core can send control instructions to the routing unit. The routing unit sends control instructions to other core cores, other chips, or storage units according to the address of the control instructions. After receiving the control instructions, the other cores, other chips, or storage units perform corresponding operations. When the core core sends control commands or data to other core cores, it is directly forwarded through the routing unit. The core core sends control commands to other chips via the UART control unit. When the core core sends a control command to the storage unit, the routing unit queries the serdes interface corresponding to the address according to the address, and sends the control command to the core core corresponding to the serdes interface, and then sends the core core to the corresponding serdes interface. The serdes interface sends the storage unit to the storage unit. Send control commands. When the core core sends data to other chips or storage units, the routing unit queries the serdes interface corresponding to the address according to the address, and sends control instructions to the core core corresponding to the serdes interface, and then the core core sends the corresponding serdes interface to the corresponding serdes interface. The storage unit sends data. Other chips are acquiring data through the storage unit. When the kernel core obtains data from the memory unit, it reads the data address carried in the control instruction, and the routing unit queries the serdes interface corresponding to the address according to the address, and sends the control instruction to the kernel core corresponding to the serdes interface, and then the kernel core sends the corresponding The serdes interface, the serdes interface sends a read control instruction to the storage unit, and the instruction carries the destination address and the source address. After the serdes interface obtains data from the storage unit, the data is sent to the core core corresponding to the serdes interface. The core core sends the data packet including the source address and the destination address to the routing unit, and the routing unit sends the data packet to the corresponding according to the destination address Core. If the kernel core finds that the destination address is its own address, the kernel core obtains data for processing. And the core core can also send data or commands to other core cores through the routing unit, and obtain data or commands from other core cores through the routing unit. The core calculates based on the acquired data and stores the calculation result in the storage unit. Each storage unit is provided with a dedicated storage area and a shared storage area; the dedicated storage area is used to store a temporary calculation result of one arithmetic chip, and the temporary calculation result is an intermediate calculation result that the one arithmetic chip continues to use, and Intermediate calculation results not used by other arithmetic chips; the shared storage area is used to store arithmetic data results of the arithmetic chips, which are used by other arithmetic chips, or need to be transmitted to the outside for feedback transmission.
图4a为本发明第三实施例提供的存储单元的结构示意图。在图4a中,以存储单元与具有4个内核的运算芯片对应为例进行说明,即,在图4a中,存储单元与第一实施例所示的运算芯片对应。请参见图4a,存储单元(20)包括C个存储器,这里以C=4为例进行说明,当然其中C为大于等于2的正整数,例如可以是6、10、12等等;存储器(240、241、242、243)包括存储控制器(220、221、222、223)和存储颗粒(210、211、212、213);存储控制器用于根据指令向存储颗粒写入或者读取数据,存储颗粒用于存储数据。存储单元(20)进一步包括一个路由单元(230)4个serdes接口(250、251、252、253)。4个serdes接口通过总线分别与路由单元相连,路由单元再和每个存储器相连。4a is a schematic structural diagram of a storage unit according to a third embodiment of the present invention. In FIG. 4a, an example is described in which a storage unit corresponds to an arithmetic chip having 4 cores, that is, in FIG. 4a, the storage unit corresponds to the arithmetic chip shown in the first embodiment. Referring to FIG. 4a, the storage unit (20) includes C memories. Here, C = 4 is taken as an example for description. Of course, C is a positive integer greater than or equal to 2, for example, 6, 10, 12, etc .; the memory (240 , 241, 242, 243) includes storage controllers (220, 221, 222, 223) and storage particles (210, 211, 212, 213); the storage controller is used to write or read data to the storage particles according to instructions, store Particles are used to store data. The storage unit (20) further includes a routing unit (230) and four serdes interfaces (250, 251, 252, 253). The four serdes interfaces are connected to the routing unit through the bus, and the routing unit is connected to each memory.
图4b为本发明第三实施例提供的存储单元的信号流程示意图。在图4b中,以存储单元与具有4个内核的运算芯片对应为例进行说明,即,在图4b中,存储单元与第一实施例所示的运算芯片对应。请参见图4b,存储单元(20)通过serdes接口(250、251、252、253)接受控制指令,将控制指令发送给路由单元(230),路由单元根据控制指令中的地址,将控制指令发送给相应的存储器(240、241、242、243),存储控制器(220、221、222、223)根据控制指令执行相关操作。例如根据初始化配置存储器参数,对多个存储颗粒进行统一编址;或者根据重置指令,对存储颗粒进行重置复位;写入指令或者读出指令等操作。通过serdes接口(250、251、252、253)接受运算芯片发送的获取数据指令,指令中携带要获取数据的地址,路由单元根据地址向存储器发送获取数据指令,存储控制器根据获取数据指令从存储颗粒中获取数据,根据源地址将数据通过serdes接口发送给需求数据的运算芯片。通过serdes接口(250、251、252、253)接受运算芯片发送的写入数据指令和数据,指令中携带要写入数据的地址,路由单元根据地址向存储器发送写入数据指令和数据,存储控制器根据写入数据指令向存储颗粒写入数据。写入数据指令和数据可以是同步传输,也可以是异步传输。每个存储单元中设置专有存储区域和共享存储区域;所述专有存储区域用于存储一个运算芯片的临时运算结果,该临时运算结果为所述一个运算芯片继续利用的中间计算结果,而其他运算芯片不会使用的中间计算结果;所述共享存储区域用于存储运算芯片的运算数据结果,该运算数据结果被其他运算芯片使用,或者需要向外部进行反馈传输。4b is a schematic diagram of a signal flow of a storage unit provided by a third embodiment of the present invention. In FIG. 4b, an example is described in which a storage unit corresponds to an arithmetic chip having 4 cores, that is, in FIG. 4b, the storage unit corresponds to the arithmetic chip shown in the first embodiment. Referring to FIG. 4b, the storage unit (20) accepts the control instruction through the serdes interface (250, 251, 252, 253) and sends the control instruction to the routing unit (230). The routing unit sends the control instruction according to the address in the control instruction For the corresponding memory (240, 241, 242, 243), the storage controller (220, 221, 222, 223) performs related operations according to the control instructions. For example, according to the initial configuration memory parameters, multiple storage particles are addressed uniformly; or according to the reset instruction, the storage particles are reset and reset; write instructions or read instructions and other operations. Through the serdes interface (250, 251, 252, 253) accept the data acquisition instruction sent by the arithmetic chip, the instruction carries the address of the data to be acquired, the routing unit sends the data acquisition instruction to the memory according to the address, and the storage controller stores The data is obtained from the particles, and the data is sent to the computing chip that needs the data through the serdes interface according to the source address. Through the serdes interface (250, 251, 252, 253), receive the write data command and data sent by the arithmetic chip, the command carries the address of the data to be written, the routing unit sends the write data command and data to the memory according to the address, storage control The device writes data to the storage particles according to the write data instruction. The write data command and data can be transmitted synchronously or asynchronously. Each storage unit is provided with a dedicated storage area and a shared storage area; the dedicated storage area is used to store a temporary calculation result of one arithmetic chip, and the temporary calculation result is an intermediate calculation result that the one arithmetic chip continues to use, and Intermediate calculation results not used by other arithmetic chips; the shared storage area is used to store arithmetic data results of the arithmetic chips, which are used by other arithmetic chips, or need to be transmitted to the outside for feedback transmission.
图5为本发明第四实施例提供的大数据运算加速系统的连接结构示意图。在图5中,以大数据运算加速系统具有4个运算芯片和4个存储单元为例进行说明。请参见图5,大数据运算加速系统包括4个运算芯片(10、11、12、13)和4个存储单元(20、21、22、23)。运算芯片的结构可是第一实施例和第二实施例所公开的芯片结构,当然运算芯片也可以是本领域技术人员针对第一和第二实施例进行的等同改进的芯片结构,这些等同改进的芯片结构也在本实施例保护的范围。存储单元的结构可是第三实施例所公开的存储单元结构,当然存储单元也可以是本领域技术人员针对第三实施例进行的等同改进的存储单元结构,这些等同改进的存储单元结构也在本实施例保护 的范围。在大数据运算加速系统中运算芯片(10)的UART控制单元(130)和外部主机相连,每个芯片(10、11、12、13)的UART控制单元(130)通过总线相连。芯片(10、11、12、13)的每一个serdes接口(150、151、152、153)连接一个存储单元(20、21、22、23)的serdes接口(250、251、252、253),进而实现每个运算芯片通过总线和所有存储单元相连,所述运算芯片通过所述存储单元进行数据交换,运算芯片之间不直接交换数据。运算芯片和存储单元内部和外部信号流程在第一、第二和第三实施例中已经详细说明了,这里就不再次进行描述。5 is a schematic diagram of a connection structure of a big data operation acceleration system provided by a fourth embodiment of the present invention. In FIG. 5, the big data operation acceleration system has 4 operation chips and 4 storage units as an example for description. Please refer to FIG. 5, the big data operation acceleration system includes 4 operation chips (10, 11, 12, 13) and 4 storage units (20, 21, 22, 23). The structure of the arithmetic chip may be the chip structure disclosed in the first embodiment and the second embodiment. Of course, the arithmetic chip may also be an equivalent modified chip structure made by those skilled in the art for the first and second embodiments. The chip structure is also within the scope of protection in this embodiment. The structure of the storage unit may be the structure of the storage unit disclosed in the third embodiment. Of course, the storage unit may also be an equivalently improved storage unit structure made by those skilled in the art for the third embodiment. The scope of protection of the embodiments. In the big data operation acceleration system, the UART control unit (130) of the operation chip (10) is connected to an external host, and the UART control unit (130) of each chip (10, 11, 12, 13) is connected through a bus. Each serdes interface (150, 151, 152, 153) of the chip (10, 11, 12, 13) is connected to the serdes interface (250, 251, 252, 253) of a storage unit (20, 21, 22, 23), Furthermore, each operation chip is connected to all storage units through a bus, the operation chip performs data exchange through the storage unit, and data is not directly exchanged between the operation chips. The internal and external signal flows of the arithmetic chip and the storage unit have been described in detail in the first, second, and third embodiments, and will not be described again here.
可选的,在图5所示的实施例中,可以将任意一个运算芯片中的UART控制单元(130)与外部主机连接,其它运算芯片中的UART控制单元(130)依次连接。与外部主机连接的运算芯片可以通过UART控制单元(130)接收外部主机的控制指令,并将控制指令发送给其它的运算芯片。Optionally, in the embodiment shown in FIG. 5, the UART control unit (130) in any arithmetic chip may be connected to an external host, and the UART control units (130) in other arithmetic chips are connected in sequence. The arithmetic chip connected to the external host can receive the control command of the external host through the UART control unit (130) and send the control command to other arithmetic chips.
例如,运算芯片10中的UART控制单元(130)可以与外部主机连接,运算芯片11中的UART控制单元(130)与运算芯片10中的UART控制单元(130)连接,运算芯片12中的UART控制单元(130)与运算芯片11中的UART控制单元(130)连接,运算芯片1,3中的UART控制单元(130)与运算芯片12中的UART控制单元(130)连接。For example, the UART control unit (130) in the arithmetic chip 10 may be connected to an external host, the UART control unit (130) in the arithmetic chip 11 is connected to the UART control unit (130) in the arithmetic chip 10, and the UART in the arithmetic chip 12 The control unit (130) is connected to the UART control unit (130) in the arithmetic chip 11, and the UART control unit (130) in the arithmetic chips 1, 3 is connected to the UART control unit (130) in the arithmetic chip 12.
可选的,还可以将每个运算芯片12中的UART控制单元(130)分别与外部主机连接。Optionally, the UART control unit (130) in each arithmetic chip 12 may be connected to an external host respectively.
该系统应用到人工智能领域中,运算芯片(10)的UART控制单元(130)将外部主机发送的图片数据或者视频数据通过serdes接口(150、151、152、153)存储到存储单元(20、21、22、23)中,运算芯片(10、11、12、13)产生神经网络的数学模型,该数学模型也可以由外部主机通过serdes接口The system is applied in the field of artificial intelligence. The UART control unit (130) of the arithmetic chip (10) stores the picture data or video data sent by the external host to the storage unit (20, 151, 152, 153) through the serdes interface (150, 151, 152, 153). 21, 22, 23), the arithmetic chip (10, 11, 12, 13) generates a mathematical model of the neural network, which can also be used by an external host through the serdes interface
(150、151、152、153)存储到存储单元(20、21、22、23),由各个运算芯片(10、11、12、13)读取。在运算芯片(10)上运行神经网络第一层数学模型,运算芯片(10)通过serdes接口从存储单元(20、21、22、23)读取数据进行运算,并将运算结果通过serdes接口存储到存储单元(20、21、22、23)中的至少一个存储单元。运算芯片(10)通过UART控制单元(130)向运算芯片(20)发送控制指令,启动运算芯片(20)进行运算。在运算芯片(20)上运行神经网络第二层数学模型,运算芯片(20)通过serdes接口 从存储单元(20、21、22、23)读取数据进行运算,并将运算结果通过serdes接口存储到存储单元(20、21、22、23)中的至少一个存储单元。每一个芯片执行神经网络中的一层,通过serdes接口从存储单元(20、21、22、23)获取数据进行运算,只到神经网络最后一层计算出运算结果。运算芯片(10)通过serdes接口从存储单元(20、21、22、23)获取运算结果,通过UART控制单元(130)反馈给外部主机。(150, 151, 152, 153) is stored in the storage unit (20, 21, 22, 23) and read by each arithmetic chip (10, 11, 12, 13). The first layer of mathematical model of the neural network is run on the arithmetic chip (10). The arithmetic chip (10) reads data from the storage unit (20, 21, 22, 23) through the serdes interface for operation, and stores the operation result through the serdes interface To at least one of the storage units (20, 21, 22, 23). The arithmetic chip (10) sends a control instruction to the arithmetic chip (20) through the UART control unit (130), and starts the arithmetic chip (20) to perform arithmetic. Run the second layer of mathematical model of the neural network on the arithmetic chip (20), the arithmetic chip (20) reads data from the storage unit (20, 21, 22, 23) through the serdes interface for operation, and stores the operation result through the serdes interface To at least one of the storage units (20, 21, 22, 23). Each chip executes a layer in the neural network, and obtains data from the storage unit (20, 21, 22, 23) through the serdes interface for operation, and only the final layer of the neural network calculates the operation result. The operation chip (10) obtains the operation result from the storage unit (20, 21, 22, 23) through the serdes interface, and feeds it back to the external host through the UART control unit (130).
该系统应用到加密数字货币领域中,运算芯片(10)的UART控制单元(130)将外部主机发送的区块信息存储到存储单元(20、21、22、23)中的至少一个存储单元。外部主机通过运算芯片(10、11、12、13)UART控制单元(130)向4个运算芯片(10、11、12、13)发送控制指令进行数据运算,4个运算芯片(10、11、12、13)启动运算操作。当然也可以外部主机向一个运算芯片(10)UART控制单元(130)发送控制指令进行数据运算,运算芯片(10)依次向其他3个运算芯片(11、12、13)发送控制指令进行数据运算,4个运算芯片(10、11、12、13)启动运算操作。也可以外部主机向一个运算芯片(10)UART控制单元(130)发送控制指令进行数据运算,第一运算芯片(10)向第二运算芯片(11)发送控制指令进行数据运算,第二运算芯片(11)向第三运算芯片(12)发送控制指令进行数据运算,第三运算芯片(12)向第四运算芯片(13)发送控制指令进行数据运算,4个运算芯片(10、11、12、13)启动运算操作。4个运算芯片(10、11、12、13)通过serdes接口从存储单元中读取区块信息数据,4个运算芯片(10、11、12、13)同时进行工作量证明运算,运算芯片(10)从存储单元(20、21、22、23)获取运算结果,通过UART控制单元(130)反馈给外部主机。The system is applied to the field of encrypted digital currency, and the UART control unit (130) of the arithmetic chip (10) stores the block information sent by the external host to at least one storage unit in the storage units (20, 21, 22, 23). The external host sends control instructions to the four arithmetic chips (10, 11, 12, 13) through the arithmetic chip (10, 11, 12, 13) UART control unit (130), and the four arithmetic chips (10, 11, 12. 13) Start operation. Of course, the external host can also send control instructions to one arithmetic chip (10) UART control unit (130) for data calculation, and the arithmetic chip (10) sends control instructions to the other three arithmetic chips (11, 12, 13) in sequence for data calculation , 4 arithmetic chips (10, 11, 12, 13) start the arithmetic operation. The external host may also send a control instruction to a computing chip (10) UART control unit (130) to perform data operations, the first computing chip (10) sends a control instruction to the second computing chip (11) to perform data operations, and the second computing chip (11) Send control instructions to the third arithmetic chip (12) for data calculation, the third arithmetic chip (12) sends control instructions to the fourth arithmetic chip (13) for data calculation, 4 arithmetic chips (10, 11, 12 , 13) Start operation. 4 arithmetic chips (10, 11, 12, 13) read the block information data from the storage unit through the serdes interface, 4 arithmetic chips (10, 11, 12, 13) simultaneously perform the proof of work calculation, the arithmetic chip ( 10) Obtain the operation result from the storage unit (20, 21, 22, 23) and feed it back to the external host through the UART control unit (130).
上述实施例中所述运算芯片和所述存储单元数量都是相等的,这时所述存储单元的第二数据接口个数与所述运算芯片的第二数据接口个数都为存储单元的数量。In the above embodiment, the number of the arithmetic chip and the storage unit are equal, and the number of the second data interface of the storage unit and the number of the second data interface of the arithmetic chip are both the number of the storage unit .
但是,本领域技术人员可知,所述运算芯片和所述存储单元数量也可以是不相等,这时所述存储单元的第二数据接口个数为运算芯片的数量,所述运算芯片的第二数据接口个数为存储单元的数量。例如运算芯片为4个,存储单元为5个,这时在运算芯片上设置5个第二数据接口,在存储单元上设置4个第二数据接口。However, those skilled in the art may know that the number of the arithmetic chip and the storage unit may also be unequal. In this case, the number of second data interfaces of the storage unit is the number of the arithmetic chip, and the second The number of data interfaces is the number of storage units. For example, there are four arithmetic chips and five storage units. At this time, five second data interfaces are provided on the arithmetic chip, and four second data interfaces are provided on the storage unit.
总线可以采用集中式仲裁总线结构,或者环线拓扑总线结构,总线技术为本领域的常用技术,因此在这里就不详细介绍。The bus may use a centralized arbitration bus structure or a ring topology bus structure. The bus technology is a common technology in the field, so it will not be described in detail here.
图6为本发明第五实施例提供的数据结构示意图。这里所说的数据为命令数据、数值数据、字符数据等多种数据。数据格式具体包括有效位valid、目的地址dst id、源地址src id和data数据。内核可以通过有效位valid来判断该数据包是命令还是数值,这里可以假定0代表数值,1代表命令。内核会根据数据结构判断目的地址、源地址和数据类型。从指令运行时序上来看,本实施例中采用传统的六级流水线结构,分别为取指、译码、执行、访存、对齐和写回级。从指令集架构上来看,可以采取精简指令集架构。按照精简指令集架构的通用设计方法,本发明指令集可以按功能分为寄存器-寄存器型指令,寄存器-立即数指令,跳转指令,访存指令、控制指令和核间通信指令。6 is a schematic diagram of a data structure provided by a fifth embodiment of the present invention. The data mentioned here is various data such as command data, numeric data, character data, and so on. The data format specifically includes valid bit valid, destination address dst id, source address src id and data data. The kernel can determine whether the data packet is a command or a value by valid bit. Here, it can be assumed that 0 represents a value and 1 represents a command. The kernel will determine the destination address, source address and data type according to the data structure. From the perspective of instruction operation timing, the traditional six-stage pipeline structure is adopted in this embodiment, which are instruction fetch, decoding, execution, memory access, alignment and write-back stage respectively. From the perspective of the instruction set architecture, a simplified instruction set architecture can be adopted. According to the general design method of the reduced instruction set architecture, the instruction set of the present invention can be divided into register-register type instructions, register-immediate instruction, jump instruction, memory access instruction, control instruction and inter-core communication instruction according to functions.
使用本文中提供的描述,可以通过使用标准的编程和/或工程技术将实施例实现成机器、过程或制造品以产生编程软件、固件、硬件或其任何组合。Using the description provided herein, the embodiments can be implemented as a machine, process, or article of manufacture by using standard programming and / or engineering techniques to produce programming software, firmware, hardware, or any combination thereof.
可以将任何生成的程序(多个)(具有计算机可读程序代码)具体化在一个或多个计算机可使用的介质上,诸如驻留存储设备、智能卡或其它可移动存储设备,或传送设备,从而根据实施例来制作计算机程序产品和制造品。照此,如本文中使用的术语“制造品”和“计算机程序产品”旨在涵盖永久性地或临时性地存在在任何计算机可以使用的非短暂性的介质上的计算机程序。Any generated program (s) (with computer-readable program code) can be embodied on one or more computer-usable media, such as resident storage devices, smart cards or other removable storage devices, or transmission devices, Thus, computer program products and manufactured products are produced according to the embodiments. As such, the terms "article of manufacture" and "computer program product" as used herein are intended to cover computer programs that are permanently or temporarily present on any non-transitory medium that can be used by computers.
如上所指出的,存储器/存储设备包含但不限制于磁盘、光盘、可移动存储设备(诸如智能卡、订户身份模块(Subscriber Identification Module,SIM)、无线标识模块(Wireless Identification Module,WIM))、半导体存储器(诸如随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read Only Memory,PROM))等。传送介质包含但不限于经由无线通信网络、互联网、内部网、基于电话/调制解调器的网络通信、硬连线/电缆通信网络、卫星通信以及其它固定或移动网络系统/通信链路的传输。As noted above, memory / storage devices include but are not limited to magnetic disks, optical disks, removable storage devices (such as smart cards, subscriber identity modules (SIM), wireless identification modules (Wireless Identification Module, WIM)), semiconductors Memory (such as random access memory (Random Access Memory, RAM), read only memory (Read Only Memory, ROM), programmable read only memory (Programmable Read Only Memory, PROM)), etc. Transmission media include, but are not limited to, transmission via wireless communication networks, the Internet, intranets, telephone / modem-based network communications, hard-wired / cable communications networks, satellite communications, and other fixed or mobile network systems / communication links.
虽然已经公开了特定的示例实施例,但是本领域的技术人员将理解的是,在不背离本发明的精神和范围的情况下,能够对特定示例实施例进行改变。Although specific example embodiments have been disclosed, those skilled in the art will understand that changes can be made to the specific example embodiments without departing from the spirit and scope of the invention.
以上参考附图,基于实施方式说明了本发明,但本发明并非限定于上述 的实施方式,根据布局需要等将各实施方式及各变形例的部分构成适当组合或置换后的方案,也包含在本发明的范围内。另外,还可以基于本领域技术人员的知识适当重组各实施方式的组合和处理顺序,或者对各实施方式施加各种设计变更等变形,被施加了这样的变形的实施方式也可能包含在本发明的范围内。The present invention has been described above based on the embodiments with reference to the drawings. However, the present invention is not limited to the above-mentioned embodiments, and schemes in which the parts of each embodiment and each modified example are appropriately combined or replaced according to layout requirements are also included in Within the scope of the invention. In addition, based on the knowledge of those skilled in the art, the combination and processing order of the embodiments may be appropriately reorganized, or various design changes and other modifications may be applied to the embodiments. Embodiments to which such modifications are applied may also be included in the present invention. In the range.
本发明虽然已详细描述了各种概念,但本领域技术人员可以理解,对于那些概念的各种修改和替代在本发明公开的整体教导的精神下是可以实现的。本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。Although the present invention has described various concepts in detail, those skilled in the art can understand that various modifications and substitutions to those concepts can be implemented within the spirit of the overall teaching disclosed in the present invention. A person skilled in the art can implement the invention set forth in the claims without undue experimentation by using ordinary techniques. It can be understood that the specific concepts disclosed are only illustrative and are not intended to limit the scope of the present invention, which is determined by the full scope of the appended claims and their equivalents.

Claims (28)

  1. 一种大数据运算加速系统,其特征在于,包括两个以上运算芯片和两个以上存储单元,其中,A big data operation acceleration system is characterized by comprising more than two operation chips and more than two storage units, wherein,
    所述运算芯片包括至少一个第一数据接口和两个以上第二数据接口;The arithmetic chip includes at least one first data interface and more than two second data interfaces;
    所述存储单元包括两个以上第三数据接口;The storage unit includes more than two third data interfaces;
    所述运算芯片的第二数据接口与所述存储单元的第三数据接口连接,用于传输数据或者控制指令;The second data interface of the arithmetic chip is connected to the third data interface of the storage unit, and is used to transmit data or control instructions;
    所述运算芯片的至少一个第一数据接口相连接,用于传输控制指令。At least one first data interface of the arithmetic chip is connected for transmitting control instructions.
  2. 根据权利要求1所述的系统,其特征在于,所述第二数据接口和第三数据接口为serdes接口,所述第一数据接口为通用异步收发传输器UART控制单元的UART接口。The system according to claim 1, wherein the second data interface and the third data interface are serdes interfaces, and the first data interface is a UART interface of a UART control unit of a universal asynchronous transceiver transmitter.
  3. 根据权利要求1或2所述的系统,其特征在于,所述运算芯片的数量和所述存储单元的数量相等,所述存储单元的第三数据接口的数量与所述运算芯片的第二数据接口的数量为所述存储单元的数量。The system according to claim 1 or 2, wherein the number of the arithmetic chip and the number of the storage unit are equal, the number of the third data interface of the storage unit and the second data of the arithmetic chip The number of interfaces is the number of storage units.
  4. 根据权利要求1所述的系统,其特征在于,所述运算芯片的数量和所述存储单元的数量不相等,所述存储单元的第三数据接口的数量为所述运算芯片的数量,所述运算芯片的第二数据接口的数量为所述存储单元的数量。The system according to claim 1, wherein the number of the arithmetic chip and the number of the storage unit are not equal, the number of the third data interface of the storage unit is the number of the arithmetic chip, the The number of the second data interface of the arithmetic chip is the number of the storage unit.
  5. 根据权利要求1或2所述的系统,其特征在于,所述运算芯片还包括至少两个内核和路由单元;所述至少一个第一数据接口和两个以上所述第二数据接口分别与所述路由单元相连,所述路由单元与所述至少两个内核相连。The system according to claim 1 or 2, wherein the arithmetic chip further includes at least two cores and a routing unit; the at least one first data interface and two or more second data interfaces are respectively The routing unit is connected, and the routing unit is connected to the at least two cores.
  6. 根据权利要求5所述的系统,其特征在于,所述路由单元用于向所述内核发送数据或者控制指令,并且接收所述内核发送的数据或者控制指令。The system according to claim 5, wherein the routing unit is configured to send data or control instructions to the core, and receive data or control instructions sent by the core.
  7. 根据权利要求5所述的系统,其特征在于,所述路由单元用于根据接收的控制指令通过所述第三数据接口向所述存储单元写入数据、读取数据或者向所述内存单元发送控制指令。The system according to claim 5, wherein the routing unit is configured to write data to the storage unit, read data, or send to the memory unit through the third data interface according to the received control instruction Control instruction.
  8. 根据权利要求5所述的系统,其特征在于,所述路由单元通过所述至少一个第一数据接口向所述外部芯片发送控制指令。The system according to claim 5, wherein the routing unit sends a control instruction to the external chip through the at least one first data interface.
  9. 根据权利要求5所述的系统,其特征在于,所述运算芯片之间通过所述第二数据接口和存储单元发送或者接收数据。The system according to claim 5, wherein data is sent or received between the arithmetic chips through the second data interface and the storage unit.
  10. 根据权利要求5所述的系统,其特征在于,所述路由单元通过所述 至少一个第一数据接口接收外部数据或者控制指令,并将接收到的外部数据或者控制指令发送给内核或者存储单元。The system according to claim 5, wherein the routing unit receives external data or control instructions through the at least one first data interface, and sends the received external data or control instructions to the kernel or the storage unit.
  11. 根据权利要求1或2所述的系统,其特征在于,所述运算芯片还包括至少两个内核、路由单元;每个第二数据接口连接一个内核,所述至少两个内核与所述路由单元连接,所述至少一个第一数据接口与一个内核连接。The system according to claim 1 or 2, wherein the arithmetic chip further includes at least two cores and a routing unit; each second data interface is connected to a core, and the at least two cores and the routing unit Connected, the at least one first data interface is connected to a core.
  12. 根据权利要求11所述的系统,其特征在于,所述至少一个第一数据接口用于获取芯片外部数据或者控制指令,并将所述外部数据或者控制指令传输给与所述至少一个第一数据接口连接的内核;或者,所述至少一个第一数据接口用于从所述至少一个第一数据接口连接的内核获得运算结果或者中间数据反馈给外部;或者,所述至少一个第一数据接口用于向外部芯片发送控制指令。The system according to claim 11, wherein the at least one first data interface is used to acquire chip external data or control instructions, and transmit the external data or control instructions to the at least one first data An interface connected core; or, the at least one first data interface is used to obtain an operation result or intermediate data feedback from the at least one first data interface connected core to the outside; or, the at least one first data interface is used Used to send control commands to external chips.
  13. 根据权利要求11所述的系统,其特征在于,所述内核用于将数据或者控制指令传输给路由单元;或者,通过所述两个以上第二数据接口向存储单元发送数据或者控制指令;或者,通过所述两个以上第二数据接口从存储单元获取数据。The system according to claim 11, wherein the core is used to transmit data or control instructions to the routing unit; or, to send data or control instructions to the storage unit through the two or more second data interfaces; or To obtain data from the storage unit through the two or more second data interfaces.
  14. 根据权利要求11所述的系统,其特征在于,所述路由单元用于根据数据或者控制指令地址将数据或者控制指令发送给数据地址对应的内核。The system according to claim 11, wherein the routing unit is configured to send the data or control instruction to the core corresponding to the data address according to the data or control instruction address.
  15. 根据权利要求1或2所述的系统,其特征在于,所述存储单元还包括两以上存储器和路由单元;所述两个以上第三数据接口分别与所述路由单元相连,所述路由单元还与所述两个以上存储器相连。The system according to claim 1 or 2, wherein the storage unit further includes two or more memories and a routing unit; the two or more third data interfaces are respectively connected to the routing unit, and the routing unit further It is connected to the two or more memories.
  16. 根据权利要求15所述的系统,其特征在于,所述存储器包括存储控制器和存储颗粒,其中,所述存储控制器用于根据指令向存储颗粒写入或者读取数据,所述存储颗粒用于存储数据。The system according to claim 15, wherein the memory includes a storage controller and a storage particle, wherein the storage controller is used to write or read data to the storage particle according to an instruction, and the storage particle is used to Storing data.
  17. 根据权利要求15所述的系统,其特征在于,所述路由单元通过所述两个以上第三数据接口接收控制指令,并根据所述控制指令中的地址,将控制指令发送给相应的存储器(240、241、242、243)。The system according to claim 15, wherein the routing unit receives the control instruction through the two or more third data interfaces, and sends the control instruction to the corresponding memory according to the address in the control instruction ( 240, 241, 242, 243).
  18. 根据权利要求15所述的系统,其特征在于,所述路由单元用于通过所述两个以上第三数据接口将获取的数据发送给所述运算芯片。The system according to claim 15, wherein the routing unit is configured to send the acquired data to the arithmetic chip through the two or more third data interfaces.
  19. 根据权利要求15所述的系统,其特征在于,所述存储单元中设置专有存储区域和共享存储区域。The system according to claim 15, wherein the storage unit is provided with a dedicated storage area and a shared storage area.
  20. 根据权利要求15所述的系统,其特征在于,所述至少一个第一数据接口用于根据接收的外部指令初始化配置所述两个以上存储单元,对所述两个以上存储单元中的存储颗粒进行统一编址。The system according to claim 15, wherein the at least one first data interface is used to initialize and configure the two or more storage units according to the received external command, and to store particles in the two or more storage units Perform unified addressing.
  21. 根据权利要求15所述的系统,其特征在于,所述存储颗粒为混合内存立方体HMC内存。The system according to claim 15, wherein the storage particles are hybrid memory cube HMC memories.
  22. 一种大数据运算加速系统,其特征在于,包括两个以上运算芯片和两个以上存储单元;所述运算芯片包括N个内核,其中所述N为大于或等于2的正整数;所述两个以上运算芯片中的每一个运算芯片通过与所述两个以上存储单元中的所有存储单元相连。A big data operation acceleration system, characterized by comprising more than two operation chips and more than two storage units; the operation chip includes N cores, wherein the N is a positive integer greater than or equal to 2; the two Each of the more than one arithmetic chips is connected to all of the two or more memory cells.
  23. 根据权利要求22所述的系统,其特征在于,所述两个以上运算芯片通过所述存储单元进行数据交换。The system according to claim 22, wherein the two or more arithmetic chips exchange data through the storage unit.
  24. 一种大数据运算加速系统,其特征在于,包括两个以上运算芯片和两个以上存储单元;所述运算芯片包括至少一个第一数据接口和两个以上第二数据接口,所述存储单元包括两个以上数据接口;所述运算芯片的每个第二数据接口与所述存储单元的每个第三数据接口连接;所述两个以上运算芯片的每个第一数据接口相连接。A big data operation acceleration system is characterized by including more than two operation chips and more than two storage units; the operation chip includes at least one first data interface and more than two second data interfaces, and the storage unit includes More than two data interfaces; each second data interface of the arithmetic chip is connected to each third data interface of the storage unit; and each first data interface of the two or more arithmetic chips is connected.
  25. 根据权利要求1、22或者24所述的系统,其特征在于,所述两个以上运算芯片执行加密运算、卷积计算中的一种或者多种。The system according to claim 1, 22 or 24, wherein the two or more arithmetic chips perform one or more of encryption operations and convolution calculations.
  26. 根据权利要求1、22或者24所述的系统,其特征在于,所述两个以上运算芯片分别执行独立的运算,每个运算芯片分别计算结果。The system according to claim 1, 22 or 24, wherein the two or more arithmetic chips respectively perform independent operations, and each arithmetic chip calculates a result separately.
  27. 根据权利要求1、22或者24所述的系统,其特征在于,所述两个以上运算芯片执行协同运算,每个运算芯片根据其他两个以上运算芯片的计算结果进行运算。The system according to claim 1, 22 or 24, characterized in that the two or more arithmetic chips perform a cooperative operation, and each arithmetic chip performs an operation based on the calculation results of the other two or more arithmetic chips.
  28. 一种根据权利要求1、22或者24任一项所述系统执行运算的方法,其特征在于,包括:A method for performing calculations according to any one of claims 1, 22 or 24, characterized in that it includes:
    所述运算芯片通过所述至少一个第一数据接口接收外部数据;The arithmetic chip receives external data through the at least one first data interface;
    所述运算芯片通过所述两个以上第二数据接口将外部数据存储到所述两个以上存储单元中的至少一个存储单元;The arithmetic chip stores external data to at least one storage unit of the two or more storage units through the two or more second data interfaces;
    所述运算芯片通过所述至少一个第一数据接口接收外部控制指令;The arithmetic chip receives an external control instruction through the at least one first data interface;
    所述运算芯片通过所述两个以上第二数据接口从所述存储单元获取数 据;The arithmetic chip obtains data from the storage unit through the two or more second data interfaces;
    所述运算芯片对数据进行运算,获得运算结果或者中间数据;The arithmetic chip operates on the data to obtain the operation result or intermediate data;
    所述运算芯片通过所述两个以上第二数据接口将运算结果或者中间数据存储到所述两个以上存储单元中的至少一个存储单元;The operation chip stores the operation result or intermediate data to at least one storage unit of the two or more storage units through the two or more second data interfaces;
    所述运算芯片通过所述两个以上第二数据接口从所述存储单元获取运算结果或者中间数据,将运算结果或者中间数据通过所述至少一个第一数据接口向外部反馈。The operation chip obtains operation results or intermediate data from the storage unit through the two or more second data interfaces, and feeds the operation results or intermediate data to the outside through the at least one first data interface.
PCT/CN2018/112693 2018-10-30 2018-10-30 Big data computing acceleration system and method WO2020087278A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/112693 WO2020087278A1 (en) 2018-10-30 2018-10-30 Big data computing acceleration system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/112693 WO2020087278A1 (en) 2018-10-30 2018-10-30 Big data computing acceleration system and method

Publications (1)

Publication Number Publication Date
WO2020087278A1 true WO2020087278A1 (en) 2020-05-07

Family

ID=70461945

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/112693 WO2020087278A1 (en) 2018-10-30 2018-10-30 Big data computing acceleration system and method

Country Status (1)

Country Link
WO (1) WO2020087278A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8111738B2 (en) * 2004-01-30 2012-02-07 Broadcom Corporation Method and transceiver system having a transmit clock signal phase that is phase-locked with a receive clock signal phase
CN105550140A (en) * 2014-11-03 2016-05-04 联想(北京)有限公司 Electronic device and data processing method
CN108536642A (en) * 2018-06-13 2018-09-14 北京比特大陆科技有限公司 Big data operation acceleration system and chip

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8111738B2 (en) * 2004-01-30 2012-02-07 Broadcom Corporation Method and transceiver system having a transmit clock signal phase that is phase-locked with a receive clock signal phase
CN105550140A (en) * 2014-11-03 2016-05-04 联想(北京)有限公司 Electronic device and data processing method
CN108536642A (en) * 2018-06-13 2018-09-14 北京比特大陆科技有限公司 Big data operation acceleration system and chip

Similar Documents

Publication Publication Date Title
TWI746878B (en) High bandwidth memory system and logic die
US7155554B2 (en) Methods and apparatuses for generating a single request for block transactions over a communication fabric
CN108536642A (en) Big data operation acceleration system and chip
JP4768386B2 (en) System and apparatus having interface device capable of data communication with external device
US7277975B2 (en) Methods and apparatuses for decoupling a request from one or more solicited responses
CN209149287U (en) Big data operation acceleration system
CN112817907B (en) Interconnected bare chip expansion micro system and expansion method thereof
WO2020087276A1 (en) Big data operation acceleration system and chip
CN209784995U (en) Big data operation acceleration system and chip
CN106844263B (en) Configurable multiprocessor-based computer system and implementation method
CN209560543U (en) Big data operation chip
CN104598406A (en) Expansion function unit and computing equipment expansion system and expansion method
WO2020087278A1 (en) Big data computing acceleration system and method
WO2020087275A1 (en) Method for big data operation acceleration system carrying out operations
CN112817774A (en) System and method for transaction broadcasting in network on chip
CN112740193B (en) Method for executing operation by big data operation acceleration system
CN112805727A (en) Artificial neural network operation acceleration device for distributed processing, artificial neural network acceleration system using same, and method for accelerating artificial neural network
CN208298179U (en) Big data operation acceleration system and chip
CN209543343U (en) Big data operation acceleration system
WO2020087239A1 (en) Big data computing acceleration system
EP3907624A1 (en) Memory and storage controller with integrated memory coherency interconnect
US11789884B2 (en) Bus system and method for operating a bus system
WO2021213075A1 (en) Inter-node communication method and device based on multiple processing nodes
WO2020087243A1 (en) Big data computing chip
Klilou et al. Performance optimization of high-speed Interconnect Serial RapidIO for onboard processing

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: 18938232

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 11.10.2021)

122 Ep: pct application non-entry in european phase

Ref document number: 18938232

Country of ref document: EP

Kind code of ref document: A1