IP Library › Granted Patent US 11,868,299
Granted Patent B2
US 11,868,299 · App. 17/564,529 · Granted Jan 9, 2024

Network-on-chip data processing method and device

Inventors: Shaoli Liu (Pudong New Area, CN); Zhen Li (Pudong New Area, CN); Yao Zhang (Pudong New Area, CN)
Assignee: SHANGHAI CAMBRICON INFORMATION TECHNOLOGY CO., LTD.
G06F13/4068G06N3/04
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,868,299
App. No.
17/564,529
Granted
Jan 9, 2024
Kind
B2
Abstract

The present application relates to a network-on-chip data processing method. The method is applied to a network-on-chip processing system, the network-on-chip processing system is used for executing machine learning calculation, and the network-on-chip processing system comprises a storage device and a calculation device. The method comprises: accessing the storage device in the network-on-chip processing system by means of a first calculation device in the network-on-chip processing system and obtaining first operation data; performing an operation on the first operation data by means of the first calculation device to obtain a first operation result; and sending the first operation result to a second calculation device in the network-on-chip processing system. According to the method, operation overhead can be reduced and data read/write efficiency can be improved.

Claims (43)

1. A data processing device for processing machine learning data, comprising a machine learning device, a transmission circuit, and a shared memory, wherein the machine learning device is connected to the transmission circuit, and the transmission circuit is connected to the shared memory;

the transmission circuit is configured to obtain input data required by the machine learning device from the shared memory according to a data operation signal sent by the machine learning device, and return the input data to the machine learning device; and the data operation signal carries a type flag bit of the data operation signal and information of data to be operated,

wherein the machine learning device includes at least one machine learning unit, and

wherein the data operation signal further includes a data reception flag bit which is used to indicate a target machine learning unit that receives the input data.

2. The data processing device of claim 1 , wherein the machine learning device is configured to perform a machine learning operation according to the input data to obtain output data.

3. The data processing device of claim 2 , wherein the machine learning device is further configured to transfer the output data to the shared memory through the transmission circuit for data storage.

4. The data processing device of claim 1 , wherein a value of the type flag bit of the data operation signal includes CAST, which indicates that the data operation signal is a broadcast or a multicast instruction.

5. The data processing device of claim 4 , wherein the type flag bit of the data operation signal includes a first-type flag bit and a second-type flag bit, where

a value of the first-type flag bit includes I/O, which indicates whether the data operation signal is an I/O instruction; and

the second-type flag bit is used to indicate whether the data operation signal is a broadcast or a multicast instruction in the I/O instruction.

6. The data processing device of claim 5 , wherein the information of the data to be operated includes at least one of a source address of the data to be operated in the shared memory, a length of the data to be operated, and a data return address after the data is operated.

7. The data processing device of claim 6 , wherein the data operation signal further includes jump information, where the jump information includes a jump stride and a data length operated after each jump.

8. The data processing device of claim 7 , wherein the jump information includes stride jump information or segment jump information, wherein

the stride jump information is used to indicate a stride for each jump of the data operation signal; and

the segment jump information is used to indicate a preset size for each segment of the data operation signal.

9. The data processing device of claim 8 , wherein the data operation signal further includes a function flag bit which is used to indicate a processing operation performed by the transmission circuit on read data.

10. The data processing device of claim 1 , wherein the transmission circuit includes:

an instruction storage unit configured to store the data operation signal;

an instruction processing unit configured to parse the data operation signal to obtain the type flag bit of the data operation signal and the information of data to be operated; and

a storage queue unit configured to store an instruction queue, where the instruction queue includes a plurality of the data operation signals to be executed in an order of the instruction queue.

11. The data processing device of claim 10 , wherein the transmission circuit further includes a dependency processing unit configured to determine whether there is an association between an sth data operation signal and an s−1th data operation signal before the sth data operation signal, where if there is an association relationship between the sth data operation signal and the s−1th data operation signal, the dependency processing unit is configured to cache the sth data operation signal in the instruction storage unit, and after the s−1th data operation signal is executed, fetch the sth data operation signal from the instruction storage unit and transfer the data to the instruction processing unit; wherein the determining whether there is a association between the sth data operation signals and the s−1th data operation signal includes:

fetching a first storage address interval of data required in the sth data operation signal according to the sth data operation signal, fetching a zeroth storage address interval of data required in the s−1th data operation signal according to the s−1th data operation signal, respectively; if the first storage address interval and the zeroth storage address interval have an overlapping area, determining that there is an association between the sth data operation signal and the s−1th data operation signal; and if the first storage address interval and the zeroth storage address interval do not have an overlapping area, determining that there is no association between the sth data operation signal and the s−1th data operation signal.

12. A data processing method applied to the data processing device of claim 1 , comprising:

receiving, by a transmission circuit in a data processing device, a data operation signal sent by a machine learning device in the data processing device, where the data operation signal carries a type flag of the data operation signal and information of data to be operated;

determining, by the transmission circuit, an operation performed on data in a shared memory according to a type flag bit of the data operation signal; performing, by the transmission circuit, the operation on the data to be operated according to the information of the data to be operated to obtain input data required by the machine learning device; and returning, by the transmission circuit, the input data to the machine learning device; and

performing, by the machine learning device, a machine learning operation according to the input data to obtain output data; using the output data as new input data, and transferring the new input data to the shared memory through the transmission circuit for data storage,

wherein the machine learning device includes at least one machine learning unit, and the data operation signal further includes a data reception flag bit, where the returning the input data to the machine learning device includes:

determining, by the transmission circuit, a target machine learning unit that receives the input data according to a value of the data reception flag bit, and sending the input data to the target machine learning unit.

13. The data processing method of claim 12 , further comprising:

if a value of the type flag bit of the data operation signal is CAST, determining, by the transmission circuit, that the data operation signal is a broadcast or a multicast instruction.

14. The data processing method of claim 13 , wherein the type flag bit of the data operation signal includes a first-type flag bit and a second-type flag bit, where the first-type flag bit is used to indicate whether the data operation signal is an I/O instruction, and the second-type flag bit is used to indicate whether the data operation signal is a broadcast or a multicast instruction in the I/O instruction, where the data processing method further includes:

if a value of the first-type data flag bit is I/O, determining, by the transmission circuit, that the data operation signal is an I/O instruction; and

if a value of the second-type data flag bit is 1, determining, by the transmission circuit, that the data operation signal is a broadcast or a multicast instruction in the I/O instruction.

15. The data processing method of claim 14 , wherein the information of the data to be operated includes a source address of the data to be operated in the shared memory, a length of the data to be operated, and a data return address after the data is operated; where the performing the operation on the data to be operated according to the information of the data to be operated to obtain input data required by the machine learning device and returning the input data to the machine learning device includes:

reading, by the transmission circuit, the shared memory from the source address, and obtaining the input data that satisfies the data length; and

returning, by the transmission circuit, the input data to the target machine learning unit according to the data return address and the data reception flag bit.

16. The data processing method of claim 15 , wherein the data operation signal further includes jump information, where the jump information includes a jump stride and a data length operated after each jump, wherein the transmission circuit reading the shared memory from the source address and obtaining the input data that satisfies the data length includes:

reading, by the transmission circuit, the shared memory from the source address, and obtaining first jump data according to a jump data length after a current jump;

obtaining, by the transmission circuit, a last address of the first jump data, and jumping from the last address to a target jump address according to the jump stride; and

starting from the target jump address, obtaining, by the transmission circuit, second jump data according to a length of jump data after the jump until the length of the jump data obtained after each jump satisfies the data length.

17. The data processing method of claim 16 , wherein the transmission circuit in the data processing device receiving a data operation signal sent by the machine learning device in the data processing device includes:

parsing, by the transmission circuit, the data operation signal to obtain the type flag bit of the data operation signal and the information of data to be operated; and

executing, by the transmission circuit, a parsed data operation signal according to an instruction queue, where the instruction queue is used to indicate an execution order of the data operation signal.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 29, 2021
From: LIU, SHAOLI; LI, ZHEN; ZHANG, YAO
To: SHANGHAI CAMBRICON INFORMATION TECHNOLOGY CO., LTD.
Reel/Frame 058499/0457 →
Priority Claims (11)
CN 201811215820.7 · Oct 18, 2018 · national
CN 201811215978.4 · Oct 18, 2018 · national
CN 201811216718.9 · Oct 18, 2018 · national
CN 201811216857.1 · Oct 18, 2018 · national
CN 201811390409.3 · Nov 21, 2018 · national
CN 201811390428.6 · Nov 21, 2018 · national
CN 201811392232.0 · Nov 21, 2018 · national
CN 201811392262.1 · Nov 21, 2018 · national
CN 201811392270.6 · Nov 21, 2018 · national
CN 201811392279.7 · Nov 21, 2018 · national
CN 201811393352.2 · Nov 21, 2018 · national
Continuity (2)
Continuation 17278812
Related Publication 20220121602A1 · Apr 21, 2022