CN113076208B - Multi-event synchronization circuit, method and computing chip - Google Patents

Multi-event synchronization circuit, method and computing chip Download PDF

Info

Publication number
CN113076208B
CN113076208B CN202110621860.7A CN202110621860A CN113076208B CN 113076208 B CN113076208 B CN 113076208B CN 202110621860 A CN202110621860 A CN 202110621860A CN 113076208 B CN113076208 B CN 113076208B
Authority
CN
China
Prior art keywords
synchronization
information
synchronous
module
event
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN202110621860.7A
Other languages
Chinese (zh)
Other versions
CN113076208A (en
Inventor
陈亮
张其
耿红喜
丁圣阁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Suiyuan Technology Co ltd
Original Assignee
Shanghai Enflame Technology Co ltd
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 Shanghai Enflame Technology Co ltd filed Critical Shanghai Enflame Technology Co ltd
Priority to CN202110621860.7A priority Critical patent/CN113076208B/en
Publication of CN113076208A publication Critical patent/CN113076208A/en
Application granted granted Critical
Publication of CN113076208B publication Critical patent/CN113076208B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Abstract

The invention discloses a multi-event synchronization circuit, a method and a computing chip. Wherein, this many affairs synchronizing circuit includes: the system comprises an information transmitting module and at least one information processing module group, wherein each information processing module group is associated with a set synchronization direction; the information processing module group is used for collecting each event synchronization information of at least one source synchronization object respectively matched with each synchronization round in the associated synchronization direction when triggered and executed by the current synchronization task, and sending each event synchronization information to the information transmitting module; wherein the current synchronization task comprises at least one synchronization direction, each synchronization direction comprising at least one synchronization round; and the information transmitting module is used for transmitting the received event synchronous information to at least one target synchronous object respectively matched with each synchronous round in each synchronous direction. The multi-event synchronization circuit can perform event synchronization in a hardware mode, and is more flexible and efficient than a software synchronization mode.

Description

Multi-event synchronization circuit, method and computing chip
Technical Field
The embodiment of the invention relates to the technical field of electronic circuits, in particular to a multi-event synchronization circuit, a multi-event synchronization method and a computing chip.
Background
With the enhancement of the computing power of artificial intelligence, data interaction between different data processing modules is more and more frequent. There are often situations where multiple related events are mixed, each event may have a dependency relationship, and synchronization between events is required.
The event synchronization in the prior art usually adopts a software synchronization mode, and the configuration and control need to be participated in each event synchronization through the software mode. The software synchronization mode has higher complexity, and software is required to detect the event state and perform parameter configuration, so that the software resources are always in a working state and cannot be released for other tasks to use. In addition, the software synchronization efficiency is low, the universal interface is difficult to unify and be called by upper-layer software, and high-frequency multi-event synchronization is difficult to process in parallel.
Disclosure of Invention
The invention provides a multi-event synchronization circuit, a multi-event synchronization method and a computing chip, which are used for realizing event synchronization in a hardware mode and avoiding the defects of a software synchronization mode.
In a first aspect, an embodiment of the present invention provides a multiple-event synchronization circuit, including: the system comprises an information transmitting module and at least one information processing module group, wherein each information processing module group is associated with a set synchronization direction;
the information processing module group is used for collecting each event synchronization information of at least one source synchronization object respectively matched with each synchronization round in the associated synchronization direction when triggered and executed by the current synchronization task, and sending each event synchronization information to the information transmitting module;
wherein the current synchronization task comprises at least one synchronization direction, each synchronization direction comprising at least one synchronization round;
and the information transmitting module is used for transmitting the received event synchronous information to at least one target synchronous object respectively matched with each synchronous round in each synchronous direction.
In a second aspect, an embodiment of the present invention further provides a multiple-event synchronization method, which is implemented by any one of the multiple-event synchronization circuits provided in the embodiments of the present invention, and the method includes:
acquiring at least one synchronization direction included by a current synchronization task and at least one synchronization round respectively corresponding to each synchronization direction;
and in each synchronization direction, collecting each event synchronization information of at least one source synchronization object respectively matched with each synchronization round, and sending each event synchronization information to at least one target synchronization object respectively matched with each synchronization round in each synchronization direction.
In a third aspect, an embodiment of the present invention further provides a computing chip, a plurality of data processing modules, a master control module, and any multi-event synchronization circuit provided in the embodiment of the present invention;
each data processing module, the master control module and the multi-event synchronous circuit are respectively mounted on a bus of the computing chip, and each data processing module is respectively in one-to-one correspondence association with each synchronous information receiving counting module in the multi-event synchronous circuit;
the master control module is used for sending the current synchronous task to the multi-event synchronous circuit and receiving a synchronous ending identifier output by the multi-event synchronous circuit after the current synchronous task is finished;
and the multi-event synchronization circuit is used for realizing multi-event synchronization between a source synchronization object in each data processing module and a target synchronization object in each data processing module according to a current synchronization task.
The invention is through disposing the multi-event synchronous circuit with information emission module and at least one information processing module group, wherein, each information processing module group is associated with the set synchronizing direction; through the information processing module group, when triggered and executed by the current synchronization task, under the associated synchronization direction, collecting each event synchronization information of at least one source synchronization object respectively matched with each synchronization round, and sending each event synchronization information to the information transmitting module; wherein the current synchronization task comprises at least one synchronization direction, each synchronization direction comprising at least one synchronization round; the received event synchronization information is sent to at least one target synchronization object respectively matched with each synchronization round in each synchronization direction through the information transmitting module, the synchronization problem of multiple events is solved, event synchronization is achieved through a hardware mode, and the effect is more flexible and efficient than a software synchronization mode.
Drawings
Fig. 1 is a schematic structural diagram of a multiple-event synchronization circuit according to an embodiment of the present invention;
fig. 2a is a schematic structural diagram of a multiple event synchronization circuit according to a second embodiment of the present invention;
FIG. 2b is a flow chart of a multi-event synchronization circuit according to a second embodiment of the present invention;
FIG. 2c is a diagram illustrating the hardware connections in the use of a multiple event synchronization circuit according to a second embodiment of the present invention;
FIG. 2d is a diagram illustrating the hardware connections of the first synchronization round in an exemplary many-to-many synchronization task according to a second embodiment of the present invention;
FIG. 2e is a diagram illustrating the hardware connections of the second synchronization round in the exemplary many-to-many synchronization task according to the second embodiment of the present invention;
FIG. 2f is a diagram of an exemplary hardware connection for a synchronization round in a multi-synchronization task according to a second embodiment of the present invention;
FIG. 2g is a diagram illustrating a hardware connection of a synchronization round in an exemplary multi-pair 1 synchronization task according to a second embodiment of the present invention;
fig. 3a is a flowchart of a multiple-event synchronization method according to a third embodiment of the present invention;
FIG. 3b is a flowchart of another multiple-event synchronization method according to a third embodiment of the present invention;
fig. 4 is a schematic structural diagram of a computing chip according to a fourth embodiment of the present invention.
Detailed Description
The present invention will be described in further detail with reference to the accompanying drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the invention and are not limiting of the invention. It should be further noted that, for the convenience of description, only some of the structures related to the present invention are shown in the drawings, not all of the structures.
Example one
Fig. 1 is a schematic structural diagram of a multiple-event synchronization circuit according to an embodiment of the present invention, which is applicable to a situation where a plurality of chip cores exist in a chip and data synchronization is required between the chip cores. As shown in fig. 1, the multiple-event synchronization circuit 100 specifically includes: an information transmission module 110 and at least one information processing module group 120.
Wherein each information processing module group is associated with a set synchronization direction. Specifically, the synchronization direction may be a synchronization of the source synchronization object with the target synchronization object. The source synchronization object may be a producer or a consumer. The target synchronization object may also be a producer or a consumer. The producer may be a Chip core that produces data, such as an IP core integrated within a System On Chip (SOC). The consumer may be a chip core that uses the data. In order to realize the effective transmission and consumption use of data between a producer and a consumer, the synchronous information generated by the producer and the consumer needs to be interacted and used. Typically, a producer, after completing the production of a data item, can generate and send corresponding synchronization information to the consumer that consumed the data item; a consumer, upon completing consumption of a data item, may generate and send corresponding synchronization information to the producer that produced the data item.
For example, the producer may be an upstream module of the multi-event synchronous circuit, and may send the synchronous information to the multi-event synchronous circuit to enable the consumer to synchronize the synchronous information; at this time, the producer is the source synchronization object and the consumer is the target synchronization object. The consumer can be a downstream module of the multi-event synchronous circuit, can receive the synchronous information sent by the multi-event synchronous circuit, processes the task, and can feed back the synchronous information to the multi-event synchronous circuit after the task is completed. The producer may also receive synchronization information fed back by the consumer through the multi-event synchronization circuit, where the consumer is a source synchronization object and the producer is a target synchronization object.
Specifically, the synchronization direction may be the synchronization of the producer to the consumer for the synchronization information; alternatively, the synchronization direction may be the synchronization of the synchronization information from the consumer to the producer. The information processing module group can be used for realizing synchronization of synchronous information from the producer to the consumer, or the information processing module group can be used for realizing synchronization of synchronous information from the consumer to the producer. In order to simultaneously satisfy the synchronization of the synchronous information from the producer to the consumer and the synchronization of the synchronous information from the consumer to the producer, at least two information processing module groups can be arranged in the multi-event synchronous circuit.
In the embodiment of the present invention, the information processing module group is configured to, when triggered to execute by the current synchronization task, collect, in the associated synchronization direction, event synchronization information of at least one source synchronization object respectively matched to each synchronization round, and send the event synchronization information to the information transmitting module.
Optionally, when all the relevant parameters of the multiple-event synchronizer are configured, and the first synchronization information sent by the source synchronization object is received, that is, the current synchronization task is triggered.
In an embodiment of the invention, the current synchronization task comprises at least one synchronization direction. For example, the current synchronization task may include synchronization of synchronization information by the producer to the consumer, and feedback of synchronization information by the consumer to the producer; alternatively, the current task may include only the synchronization of the synchronization information by the producer to the consumer; alternatively, the current task may only include feedback of synchronization information from the consumer to the producer.
In an embodiment of the invention, each synchronization direction comprises at least one synchronization round. In one synchronization round, the synchronization of synchronization information by at least one source synchronization object to at least one target synchronization object may be included. The source synchronization objects involved may be different and the target synchronization objects may be different in different synchronization rounds.
Illustratively, in the synchronization direction where the producer synchronizes the synchronization information to the consumer, two synchronization rounds may be included. The first synchronization round may synchronize synchronization messages with producer 1 and producer 2 as source synchronization objects and consumer 2, consumer 3, and consumer 4 as target synchronization objects. The second synchronization round may synchronize synchronization messages with producer 3, producer 4, and producer 5 as source synchronization objects and consumer 1, consumer 4, consumer 5, and consumer 6 as target synchronization objects.
Specifically, the collecting of the event synchronization information of the at least one source synchronization object respectively matched to each synchronization round may be the event synchronization information of the source synchronization objects involved in the collective current synchronization round.
In the embodiment of the present invention, the information transmitting module is configured to transmit each received event synchronization information to at least one target synchronization object respectively matched with each synchronization round in each synchronization direction.
Wherein, each event synchronization information can be configured with a target synchronization object to be transmitted in advance. For example, it may be pre-specified that producer 1's synchronization information needs to be sent to consumer 1. The information transmitting module may transmit the synchronization information of the source synchronization object to the corresponding target synchronization object according to a pre-configured correspondence.
In an optional implementation manner of the embodiment of the present invention, the multiple-event synchronization circuit may further include a synchronization end identifier generation module; the synchronous end identifier generating module is used for generating a synchronous end identifier and sending the synchronous end identifier to the information transmitting module when detecting that all the information processing module groups finish synchronous processing operation aiming at the current synchronous task; and the information transmitting module is used for outputting the synchronous ending identifier so as to indicate the ending processing of the current synchronous task.
Specifically, when the information processing module group completes the synchronization processing operation in each synchronization direction in the current synchronization task, an independent synchronization end identifier may be sent to the synchronization end identifier generation module. The synchronization end identifier generation module may generate a total synchronization end identifier when receiving the synchronization end identifiers of the respective synchronization directions.
For example, there are two synchronization directions for the current synchronization task, namely, the first synchronization direction for synchronizing the synchronization information from the producer to the consumer; and a second synchronization direction for synchronizing information with the consumer to the producer. The information processing module group corresponding to the first synchronization direction can generate a first synchronization end identifier when the synchronization processing operation in the first synchronization direction is completed; the information processing module group corresponding to the second synchronization direction may generate a second synchronization end flag when the synchronization processing operation in the second synchronization direction is completed. The synchronization end identifier generation module may generate a total synchronization end identifier according to the first synchronization end identifier and the second synchronization end identifier, and send the total synchronization end identifier to the information transmission module. The information transmitting module may output an overall synchronization end flag to indicate end processing of the current synchronization task. For example, the information transmitting module may output the total synchronization end identifier to the total control module, so that the monitoring party of multiple events can know the execution state of the current synchronization task in time.
In the technical solution of this embodiment, a multi-event synchronization circuit having an information transmitting module and at least one information processing module group is configured, wherein each information processing module group is associated with a set synchronization direction; through the information processing module group, when triggered and executed by the current synchronization task, under the associated synchronization direction, collecting each event synchronization information of at least one source synchronization object respectively matched with each synchronization round, and sending each event synchronization information to the information transmitting module; wherein the current synchronization task comprises at least one synchronization direction, each synchronization direction comprising at least one synchronization round; the received event synchronization information is sent to at least one target synchronization object respectively matched with each synchronization round in each synchronization direction through the information transmitting module, the synchronization problem of multiple events is solved, event synchronization is achieved through a hardware mode, and the effect is more flexible and efficient than a software synchronization mode.
Example two
Fig. 2a is a schematic structural diagram of a multiple-event synchronization circuit according to a second embodiment of the present invention, which is a further refinement of the foregoing technical solution, and the technical solution in this embodiment may be combined with various alternatives in one or more of the foregoing embodiments.
As shown in FIG. 2a, the multiple event synchronization circuit 100 includes: an information transmitting module 110 and at least one information processing module group 120, each information processing module group 120 being associated with a set synchronization direction; the information processing module group 120 is configured to, when triggered to execute by the current synchronization task, collect, in an associated synchronization direction, event synchronization information of at least one source synchronization object respectively matched with each synchronization round, and send the event synchronization information to the information transmitting module; wherein the current synchronization task comprises at least one synchronization direction, each synchronization direction comprising at least one synchronization round; and an information transmitting module 110, configured to transmit each received event synchronization information to at least one target synchronization object respectively matched with each synchronization round in each synchronization direction.
In an alternative implementation of the embodiment of the present invention, as shown in fig. 2a, the multiple-event synchronization circuit 100 further includes: a read-write register 210; the read-write register 210 is configured to write synchronization configuration information matched with the current synchronization task, where the synchronization configuration information is used for the information processing module group 120 to read and trigger execution of a matched synchronization processing operation.
The synchronization configuration information may be preset. Specifically, the synchronization configuration information may include: the method comprises the steps of obtaining at least one synchronization direction, the number of synchronization rounds corresponding to each synchronization direction, source synchronization objects and target synchronization objects corresponding to each synchronization round in each synchronization direction, and the total quantity value of event synchronization information of each source synchronization object required to be collected in each synchronization round.
In each synchronization round, for each source synchronization object, the number of synchronization information that needs to be sent to the corresponding target synchronization object may be one or more. By setting the total amount of event synchronization information of the source synchronization objects required to be collected at each synchronization round in the synchronization configuration information, it can be used to identify whether the source synchronization objects complete the collection of the synchronization information required to be collected at each round.
In an alternative implementation of the embodiment of the present invention, as shown in fig. 2a, the multiple-event synchronization circuit 100 further includes: a plurality of synchronization information reception counting modules 220; each synchronization information receiving counting module 220 is respectively associated with each data processing module 200 in a one-to-one correspondence manner, and the data processing module 200 is used for serving as a source synchronization object or a target synchronization object in each synchronization task; i.e. the data processing module 200 may be a producer or a consumer.
In the embodiment of the present invention, the synchronization information receiving counting module 220 is configured to read the total number value matched from the read/write register 210 as a trigger threshold when triggered by the current synchronization task; the information quantity of the event synchronization information sent by the associated data processing module 200 to the matched information processing module group 120 is counted in real time, and when the current counted information quantity detected in each synchronization round is greater than or equal to the trigger threshold, a trigger signal of the own module is set.
The trigger threshold may be a total number of synchronization information that needs to be received by the synchronization information reception counting module 220 in the current synchronization task and that matches the current synchronization round in the current synchronization direction.
Illustratively, the synchronization direction of the current synchronization task is the synchronization of the synchronization information from the producer to the consumer. Two synchronization rounds may be included in the current synchronization direction.
The trigger threshold of each synchronization information reception counting module to be used may be statically set to a fixed value when the synchronization information configuration is initialized.
Each synchronization information receiving counting module can set up the trigger signal of the module when the counted information quantity is larger than or equal to the trigger threshold. After all the synchronization information receiving and counting modules matched with the current synchronization round in the current synchronization direction set up the trigger signals of the synchronization information receiving and counting modules, the information processing module group can be instructed to send the synchronization information to the information transmitting module.
In another optional implementation manner of the embodiment of the present invention, the information processing module group may receive the event synchronization information sent by the data processing module in advance, so as to improve the execution speed of the synchronization processing operation. The synchronous information receiving counting module can count the synchronous information received by the information processing module group, and the synchronous information receiving counting module can be provided with a trigger threshold value, so that synchronous task triggering can be conveniently carried out in different synchronous rounds according to the counting of the synchronous information receiving counting module and the corresponding trigger threshold value.
Illustratively, the trigger threshold of the synchronization information reception counting module 1 is 2, and the trigger threshold of the synchronization information reception counting module 2 is 3. In a synchronization round, a producer 1 needs to send synchronization information to a synchronization information receiving and counting module 1 twice, and the synchronization information receiving and counting module 1 sets up a trigger signal; the producer 2 needs to send the synchronization information to the synchronization information receiving and counting module 2 three times, and the synchronization information receiving and counting module 2 sets up the trigger signal. The order in which producer 1 and producer 2 send synchronization information may not be limited.
In an actual task, the process of sending synchronization information by producer 1 and producer 2 may be: p1-1, P2-1, P2-2, P2-3, P2-4, P2-5 and P1-2 …, wherein Px-y represents the y-th sending synchronization information of a producer x. After P1-2, each synchronization information reception count module of the first synchronization round is set, at this time, the count value of the synchronization information reception count module 1 is 2 (the trigger threshold is 2), the count value of the synchronization information reception count module 2 is 5 (the trigger threshold is 3), and the synchronization information reception count module 2 has currently received the synchronization message of the next synchronization round.
When the information processing state is detected to be converted from the waiting receiving state to the broadcasting transmitting state under the current synchronization round, the count value of the synchronization information receiving counting module of the current round can be cleared, that is, the count value of the synchronization information receiving counting module 1 can be subtracted by 2, the count value of the synchronization information receiving counting module 2 can be subtracted by 3, at this time, the count value of the synchronization information receiving counting module 1 is 0, and the count value of the synchronization information receiving counting module 2 is 2. The synchronization information reception counting module 2 has a residual value, and can continue to be used in the next synchronization round or other subsequent synchronization rounds.
In yet another synchronization round, the process by which producer 1 and producer 2 send synchronization information may be: p1-1, P2-1, P2-2, P2-3, P2-4, P2-5, P2-6, P1-2 …, then after the current synchronization round is finished, the count value of the synchronization information reception counting module 2 is updated to 3 (the count value 6 minus the trigger threshold value 3), and the trigger threshold value is also met, at this time, the trigger signal of the synchronization information reception counting module 2 may be kept set until the synchronization information counted in the synchronization information reception counting module 2 is directly used in other synchronization rounds.
As shown in fig. 2a, in an optional implementation manner of the embodiment of the present invention, the information processing module group 120 includes: a synchronization information collection module 121, a synchronization round number counting module 122, and a transmission association information extraction module 123.
In this embodiment of the present invention, the synchronization information collecting module is configured to aggregate event synchronization information sent by all source synchronization objects in each synchronization round associated with the synchronization direction, and complete collection of the event synchronization information of each synchronization round when it is detected that trigger signals of synchronization information receiving counting modules associated with the source synchronization objects matched with each synchronization round are all set.
The synchronization information collection module may aggregate the synchronization information sent by the source synchronization object. The synchronization information collection module may correspond to all source synchronization objects under each synchronization round associated with a synchronization direction. When the trigger signal of the synchronization information receiving and counting module corresponding to a certain source synchronization object is set, the synchronization information collecting module can determine that the synchronization information of the current source synchronization object is completely collected; when the trigger signals of the synchronization information receiving and counting modules corresponding to all the source synchronization objects in the synchronization round are all set, the synchronization information collecting module can determine that the synchronization information of all the source synchronization objects in the current synchronization round is completely collected, and further can correspondingly trigger the execution of the sending correlation information extracting module.
For example, the correlation direction of the synchronization information collection module 1 may be that the producer performs synchronization information to the consumer; the direction of association of the synchronization information collection module 2 may be that the consumer performs synchronization information to the producer. The producer may have at least one synchronization round in a synchronization direction of the synchronization information to the consumer. For example, the first synchronization round is the synchronization of producer 1, producer 2, and producer 3 to consumer 1 for synchronization information. In a first synchronization round, the synchronization information collection module 1 may aggregate the synchronization information of producer 1, producer 2 and producer 3. When the trigger signals of the synchronization information receiving and counting modules respectively corresponding to the producer 1, the producer 2 and the producer 3 are all set, the synchronization information collecting module 1 may determine that the synchronization information of the producer 1, the producer 2 and the producer 3 is completely aggregated.
In the embodiment of the present invention, the sending association information extracting module is configured to, when it is determined that the synchronization information collecting module completes collecting the event synchronization information of each synchronization round, extract sending addresses of each target synchronization object corresponding to each synchronization round, and obtain the event synchronization information used for sending to each sending address from the synchronization information collecting module; and sending each sending address and the event synchronization information corresponding to the sending address to an information transmitting module.
Wherein the transmission address may be stored in the read-write register in advance. The sending related information extraction module can read the synchronization configuration information from the read-write register and determine the sending address corresponding to the synchronization information of each source synchronization object. The sending association information extracting module may obtain corresponding synchronization information from the synchronization information collecting module according to a source synchronization object in a current synchronization round, and determine a correspondence between the synchronization information and a sending address according to a correspondence between the source synchronization object and the synchronization information and a correspondence between the source synchronization object and the sending address.
For example, the synchronization configuration information may be generated in advance, and the mapping relationship between the source synchronization object and the target synchronization object is specified. For example, an exemplary synchronization configuration information may be: in a synchronization round corresponding to the synchronization direction, a source synchronization object 1 carries out synchronization information synchronization to a target synchronization object 2 and a target synchronization object 3; the source synchronization object 2 synchronizes synchronization information to the target synchronization object 1. The source synchronization object and the target synchronization object may be represented by addresses. For example, the target synchronization object may be represented by a transmission address, and in particular, the transmission address may be a designated register address within the target synchronization object.
In the embodiment of the present invention, the information transmitting module is specifically configured to update the count value of the synchronization round counting module after the received event synchronization information is sent to the matched sending address. And the synchronization round counting module is used for counting the number of completed synchronization rounds in the associated synchronization direction.
The synchronization process progress condition of the current synchronization direction can be determined by counting the number of synchronization rounds through the synchronization round counting module, the synchronization rounds in the current process can be determined according to the counting value of the synchronization round counting module, and then the source synchronization object and the target synchronization object corresponding to the current synchronization rounds can be determined according to the current synchronization rounds.
In an optional implementation manner of the embodiment of the present invention, the source synchronization object and the target synchronization object respectively corresponding to each synchronization round in each synchronization direction in the synchronization configuration information are stored in a manner of a synchronization selection signal lookup table. Wherein the synchronization selection signal look-up table comprises: a first lookup table corresponding to a source synchronization object and a second lookup table corresponding to a target synchronization object.
The synchronization selection signal lookup table may be a preset lookup table. The source synchronization objects involved in each synchronization round may be specified in a first lookup table. The target synchronization object involved in each synchronization round may be specified in a second look-up table.
Specifically, in the embodiment of the present invention, the first lookup table is used to query a corresponding relationship between the synchronization round number and a first selection signal, where the first selection signal is used to select at least one source synchronization object; the second lookup table is used for inquiring the corresponding relation between the number of synchronization rounds and a second selection signal, and the second selection signal is used for selecting at least one target synchronization object.
As shown in fig. 2a, in the embodiment of the present invention, the information processing module group 120 further includes: a selection signal generation module 124; the selection signal generating module 124 is configured to generate a target first selection signal and a target second selection signal according to the number of completed synchronization rounds recorded in the synchronization round counting module 122 and the synchronization selection signal lookup table read from the read/write register 210 in each synchronization round, and send the target first selection signal and the target second selection signal to the synchronization information collecting module 121 and the transmission associated information extracting module 123, respectively.
The synchronous selection signal lookup table can be preset and stored in the read-write register. The number of synchronization rounds of the current synchronization process may be determined according to the number of completed synchronization rounds recorded in the synchronization round counting module. The first selection signal may be determined according to the current number of synchronization rounds and the corresponding relationship between the number of synchronization rounds specified in the first lookup table and the first selection signal. The source synchronization object required for the current synchronization round may be determined based on the first selection signal. Likewise, the second selection signal and the target synchronization object may be determined according to the number of completed synchronization rounds recorded in the synchronization round counting module and the second lookup table.
Specifically, the target first selection signal and the target second selection signal of the information processing module group may be respectively sent to the synchronization information collection module and the sending association information extraction module. The synchronization information collection module may determine source synchronization objects required for a current synchronization round according to the target first selection signal and collect synchronization information of all the determined source synchronization objects collectively. The transmission associated information extraction module may determine target synchronization objects required for a current synchronization round according to the target second selection signal and extract transmission addresses of all the determined target synchronization objects.
In an optional implementation manner of the embodiment of the present invention, a plurality of data items are sequentially stored in the first lookup table and the second lookup table, where the data items of the first lookup table include: the mapping relation among the sequence number, the repetition times and the first selection signal, and the data items of the second lookup table include: and mapping relation among the sequence number, the repetition times and the second selection signal.
The number of repetitions is the number of times the selection signal corresponding to the serial number is continuously used repeatedly. When the number of repetitions is 0, it indicates that the selection signal corresponding to the current sequence number is not used. Table 1 is a schematic table of a synchronization selection signal lookup table according to an embodiment of the present invention. The synchronization selection signal lookup table shown in table 1 may be a first lookup table or a second lookup table. Wherein the format of the first lookup table is the same as that of the second lookup table, and the difference is only the difference of the selection signal and the difference of the specific data.
TABLE 1
Figure 474835DEST_PATH_IMAGE001
In an embodiment of the present invention, the selection signal generating module is specifically configured to: respectively calculating accumulated values of the repetition times according to the sequence numbers in the synchronous selection signal lookup table to obtain synchronous turn number intervals corresponding to the sequence numbers, acquiring a target first selection signal and a target second selection signal corresponding to the target sequence number when the number of completed synchronous turns is determined to fall into the synchronous turn number interval corresponding to the target sequence number, and returning to the first sequence number of the synchronous selection signal lookup table to continuously calculate the accumulated values of the repetition times until the target first selection signal and the target second selection signal are determined if the accumulated values of all the repetition times in the synchronous selection signal lookup table are determined to be smaller than the number of completed synchronous turns.
Exemplarily, table 2 is a mapping table of the number of synchronization rounds and the interval of the number of synchronization rounds provided by the second embodiment of the present invention. As shown in table 2, the repetition number of the numbers 0, 1, 2, 3, …, N can be expressed as: TIME0, TIME1, TIME2, TIME3, …, TIME. The synchronization round interval formed by sequence numbers 0, 1, 2, 3, …, N may be: [0, TIME0-1], [ TIME0, TIME0+ TIME1-1], [ TIME0+ TIME1, TIME0+ TIME1+ TIME2-1], …, [ TIME0+ TIME1+ … + TIME (N-1), TIME0+ TIME1+ … + TIME-1 ], wherein TIME (N-1) represents the number of repetitions corresponding to sequence number N-1.
Specifically, the number of completed synchronization rounds falls within the synchronization round number interval corresponding to the target sequence number, which may mean that the number of completed synchronization round numbers falls within a range corresponding to the synchronization round number interval. As shown in table 2, the target first selection signal and the target second selection signal may be determined according to the number of completed synchronization rounds.
As shown in Table 2, if the number of completed synchronization rounds exceeds TIME0+ TIME1+ … + TIMEN-1, the sequence number 0 is returned again to continue the accumulation. That is, when the selection serial numbers corresponding to all serial numbers in the synchronization selection signal lookup table are selected and the corresponding repetition times are executed, and the number of synchronization rounds is not completed, the corresponding selection signals can be selected repeatedly from the serial number 0 again.
For example, when the number of completed synchronization rounds is within the interval [ TIME0+ TIME1+ … + TIME, TIME0+ TIME1+ … + TIME0-1], the target first selection signal or the target second selection signal corresponding to the sequence number 0 may be selected.
For example, a manner of determining the target first selection signal or the target second selection signal according to the number of synchronization rounds, the sequence number, and the number of repetitions may be specifically shown in table 2. Where Index _ Max represents the total number of synchronization rounds. The data of the producer or the consumer needing synchronization in different synchronization rounds in the synchronization task and the specific selection target can be flexibly determined by determining the source synchronization object and the target synchronization object through the synchronization selection signal lookup table.
TABLE 2
Figure 375663DEST_PATH_IMAGE002
As shown in fig. 2a, in an optional implementation manner of the embodiment of the present invention, the information processing module group 120 further includes: a state machine control module 125; the synchronization information collection module 121 is specifically configured to: generating a transmission trigger signal when the collection of the event synchronization information of each synchronization round is completed; and a state machine control module 125, configured to, upon receiving the sending trigger signal, convert the information processing state from the reception waiting state to the sending broadcast state in the associated synchronization direction, so as to trigger execution of the sending related information extracting module 123.
Specifically, the synchronization information collection module may set all corresponding synchronization information receiving and counting modules in a current synchronization round to generate the trigger signal. The state machine control module can switch states according to the trigger signal, so that the sending associated information extraction module extracts the sending address and the synchronous information. The state control module switches states, so that the synchronization information can be received in advance, and then synchronization configuration information required by synchronization is configured.
For example, the synchronization information collecting module may receive synchronization information of all source synchronization objects connected to the multi-event circuit, and the synchronization configuration information such as the number of synchronization rounds, the source synchronization object and the target synchronization object corresponding to each synchronization round, and the total amount of event synchronization information of each source synchronization object that needs to be collected in each synchronization round may be configured later. The configuration of the sending address of the target synchronization object may be even later. Through the cooperation of the synchronous information collection module, the state machine control module and the sending correlation information extraction module, the synchronization efficiency can be improved, meanwhile, the configuration flexibility is increased, and the synchronous task can be better controlled.
In an optional implementation manner of the embodiment of the present invention, the synchronization information reception counting module is further configured to: and if the information processing state is detected to be converted from the receiving waiting state to the broadcasting sending state in the current synchronization round, and the data processing module associated with the self module is determined to be selected by the target first selection signal in the current synchronization round, subtracting the triggering threshold matched with the self module from the current statistical information quantity.
In the embodiment of the present invention, the synchronization information collecting module may collect synchronization information of all source synchronization objects in advance, that is, may collect synchronization information required by a target synchronization round in advance, even a synchronization round after the target synchronization round, when the target synchronization round is not reached.
Specifically, when it is detected that the information processing state is converted from the reception waiting state to the broadcast transmitting state in the current synchronization round, it indicates that the synchronization information required in the current synchronization round has been collected. And determining that the data processing module associated with the self module is selected by the target first selection signal in the current synchronization round, and indicating that the synchronization information receiving counting module is the module used in the current synchronization round. The triggering threshold matched with the self module is subtracted from the current statistical information quantity, which indicates that the synchronization information receiving counting module can update the counting value after being used in the current synchronization round, so that the synchronization information receiving counting module can be conveniently used in the next synchronization round.
When the information processing state detected in the first synchronization round is converted from the receiving waiting state to the broadcasting sending state, and it is determined that the synchronization information receiving counting module 1 is selected by the target first selection signal in the first synchronization round, the synchronization information receiving counting module 1 may subtract the trigger threshold of the synchronization information receiving counting module 1 from the currently counted information quantity; if the synchronization information receiving module 2 is not involved in the first synchronization round, the currently counted information amount of the synchronization information receiving module 2 is not changed for use in other synchronization rounds.
For example, the source synchronization object in a certain synchronization round is the producer 1, and the trigger threshold of the synchronization information reception counting module 1 corresponding to the producer 1 is 10. Under the synchronization round, when it is detected that the information processing state is converted from the waiting-to-receive state to the broadcast-to-transmit state, if the number of information currently counted by the synchronization information reception counting module 1 is 20, the number of information currently counted by the synchronization information reception counting module 1 correspondingly becomes 20-10=10, and since the number also satisfies the trigger threshold 10, the trigger signal of the synchronization information reception counting module 1 itself may continue to be kept unchanged in the set-up state until the synchronization information counted in the synchronization information reception counting module 1 is directly used in other synchronization rounds. In an alternative implementation of the embodiment of the present invention, as shown in fig. 2a, the multiple-event synchronization circuit further includes: a synchronization end flag generation module 230; a synchronization end identifier generating module 230, configured to generate a synchronization end identifier when detecting that all information processing module groups complete synchronization processing operations for a current synchronization task, and send the synchronization end identifier to the information transmitting module 110; and an information transmitting module 110, configured to output a synchronization end identifier to indicate an end process of the current synchronization task.
According to the technical scheme of the embodiment of the invention, a multi-event synchronization circuit with an information transmitting module and at least one information processing module group is configured, wherein each information processing module group is associated with a set synchronization direction; through the information processing module group, when triggered and executed by the current synchronization task, under the associated synchronization direction, collecting each event synchronization information of at least one source synchronization object respectively matched with each synchronization round, and sending each event synchronization information to the information transmitting module; wherein the current synchronization task comprises at least one synchronization direction, each synchronization direction comprising at least one synchronization round; the received event synchronization information is sent to at least one target synchronization object respectively matched with each synchronization round in each synchronization direction through the information transmitting module, so that the problem of synchronization of multiple events is solved, the event synchronization is realized in a hardware mode, and the method is more flexible and efficient than a software synchronization mode; the event synchronization of multiple rounds of 1 to multiple, multiple pairs of 1 and multiple pairs of multiple can be supported, the event synchronization can be decoupled in the synchronization direction, and the method has great flexibility; the synchronous configuration parameters can be programmed, synchronous event changes of different synchronous rounds can be supported, the requirements of various working scenes are met, and the flexibility is greatly improved; moreover, the real-time response requirement of the synchronization event on software or firmware can be reduced, the synchronization event can respond as expected, and the synchronization efficiency is improved; in addition, a serial mode of multiple synchronous rounds can be realized, execution order preservation among different synchronous events can be realized, and execution pace among different synchronous events can be balanced.
The technical scheme of the embodiment of the invention can realize the multi-event synchronization process between at least one source synchronization object and at least one target synchronization object. The specific meaning of the source synchronization object and the target synchronization object may vary according to the application scenario adaptation of the multi-event synchronization circuit described in the embodiments of the present invention. For ease of understanding, the following example is set forth in the context of a producer and a consumer.
Fig. 2b is a flow chart of a multi-event synchronization circuit according to a second embodiment of the present invention, and as shown in fig. 2b, it is described by taking an example that two synchronization directions are simultaneously turned on in a current synchronization task, where one synchronization direction is a direction from a producer to a consumer, and the other synchronization direction is a direction from the consumer to the producer.
As previously mentioned, the producer is the producer and the consumer is the consumer of the data. When the two synchronization directions are both opened, because the scenario of the embodiment of the present invention is synchronization between the producer and the consumer, the synchronization processes in the two synchronization directions have a certain time sequence relationship, that is, firstly, the information processing module group corresponding to the synchronization direction from the producer to the consumer in the multi-event synchronization circuit sends the synchronization information obtained from the producer to the consumer, and then the information processing module group corresponding to the synchronization direction from the consumer to the producer in the multi-event synchronization circuit sends the synchronization information obtained from the consumer to the producer, so as to complete a current synchronization round corresponding to each of the two information processing module groups. Namely: fig. 2b specifically includes specific operations executed when the two information processing module groups respectively complete the corresponding current synchronization loop.
Accordingly, in the flowchart shown in fig. 2b, synchronization of the synchronization information from the producer to the consumer is performed first, and then feedback of the matching synchronization information from the consumer to the producer is performed.
As shown in fig. 2b, the total control module can pre-configure the synchronization configuration information and store it in the read-write register. First, the producer first generates synchronization information. The modules in the information processing module group corresponding to the synchronous direction from the producer to the consumer can correspondingly execute the following operations:
the synchronous information collecting module can collect the synchronous information of the producer, and the synchronous information receiving counting module can count the information quantity of the synchronous information sent by the corresponding producer in real time. When the number of the information counted by the synchronization information receiving and counting module is greater than or equal to the trigger threshold value obtained from the read-write register, the synchronization information receiving and counting module may set its own trigger signal. The selection signal generation module can generate a target first selection signal and a target second selection signal of a producer to a consumer synchronization direction according to a synchronization selection signal lookup table contained in the synchronization configuration information in the read-write register. The synchronization information collection module may determine all selected producers and corresponding synchronization information reception counting modules according to the target first selection signal. When all the selected synchronous information receiving and counting modules are set up, the synchronous information collecting module finishes the synchronous information collection of the current synchronous round and generates a sending trigger signal. The state machine control module can convert the information processing state from a waiting receiving state to a sending broadcasting state when receiving the sending trigger signal. The sending related information extracting module can extract the sending address and the event synchronization information corresponding to the sending address according to the target second selection signal and send the event synchronization information to the information transmitting module. The information transmitting module transmits the received event synchronization information to the consumers corresponding to the matched sending addresses, and the synchronization round counting module can update the counting value.
Correspondingly, after acquiring the synchronization information sent by the information transmitting module, the consumer executes the corresponding data consumption task according to the received synchronization information, and correspondingly generates the own synchronization information according to the execution condition of the data consumption task, and each module in the information processing module group corresponding to the synchronization direction from the consumer to the producer correspondingly executes the following operations:
the synchronous information collecting module can collect the synchronous information of the consumers, and the synchronous information receiving counting module can count the information quantity of the synchronous information sent by the corresponding consumers in real time. When the number of the information counted by the synchronization information receiving and counting module is greater than or equal to the trigger threshold value obtained from the read-write register, the synchronization information receiving and counting module may set its own trigger signal. The selection signal generation module can generate a target first selection signal and a target second selection signal of a consumer to a producer synchronization direction according to a synchronization selection signal lookup table contained in the synchronization configuration information in the read-write register. The synchronization information collection module may determine all selected consumers and corresponding synchronization information reception counting modules according to the target first selection signal. When all the selected synchronous information receiving and counting modules are set up, the synchronous information collecting module finishes the synchronous information collection of the current synchronous round and generates a sending trigger signal. The state machine control module can convert the information processing state from a waiting receiving state to a sending broadcasting state when receiving the sending trigger signal. The sending related information extracting module can extract the sending address and the event synchronization information corresponding to the sending address according to the target second selection signal and send the event synchronization information to the information transmitting module. The information transmitting module transmits the received event synchronization information to the producer corresponding to the matched sending address, and the synchronization round counting module can update the counting value.
Further, not shown in the figure are: the synchronization round counting module corresponding to each synchronization direction can further determine whether the synchronization round count reaches a preset synchronization round preset value in the read-write register after the current synchronization round is completed. And if the preset synchronization round preset value is reached, determining that the synchronization processing of all the synchronization rounds in the synchronization direction is completed. Correspondingly, if the synchronous ending mark generation module determines that the count values of the synchronous round counters in all the synchronous directions are counted to the preset value of the synchronous round, the synchronous ending mark is correspondingly set, and then the information transmission module can output the synchronous ending mark to indicate the ending processing of the current synchronous task of the master control module.
It should be emphasized again that in the current synchronization task, whether the multiple-event synchronization circuit uses two synchronization directions is pre-configured in the read-write register by the overall control module. In fact, after the current synchronization task is triggered to execute, the two information processing module groups respectively corresponding to the two synchronization directions also work in parallel. The above embodiment has a timing relationship in two synchronization directions, which is determined indirectly by the external factors of the producer and the consumer of the source synchronization object and the target synchronization object, respectively, and from the perspective of multi-event synchronization circuit hardware, the information processing module groups have parallel execution relationship.
It should be noted that the synchronization selection signal lookup table used when synchronizing the producer with the consumer may be the same as that used when synchronizing the consumer with the producer. Specifically, there may be one look-up table for determining the producer and one look-up table for determining the consumer in the sync select signal look-up table.
In a specific use process, when a producer synchronizes with a consumer, a lookup table used for determining the producer in the synchronization selection signal lookup table can be used as a first lookup table; the first lookup table is used for determining a corresponding first selection signal when the producer synchronizes to the consumer, and specifically, the producer is used as a source synchronization object. Meanwhile, a lookup table used for determining a consumer in the synchronous selection signal lookup table can be used as a second lookup table; the second lookup table is used for determining a corresponding second selection signal when the producer synchronizes with the consumer, and specifically, the consumer is taken as a target synchronization object.
When the consumer synchronizes with the producer, the lookup table used for determining the consumer in the synchronization selection signal lookup table can be used as a first lookup table; the first lookup table determines a corresponding first selection signal when the consumer synchronizes to the producer, and specifically, the consumer is taken as a source synchronization object. Meanwhile, a lookup table used for determining a producer in the synchronous selection signal lookup table can be used as a second lookup table; the second lookup table is used for determining a corresponding second selection signal when the consumer synchronizes to the producer, and specifically, the producer is taken as a target synchronization object.
The producer is synchronous with the consumer, and the information processing module group used by the producer and the consumer can be different. Specifically, the producer is synchronized with the consumer, and the used synchronization information collection module, synchronization round number counting module, transmission correlation information extraction module, state machine control module and selection signal generation module may be different from the consumer to the producer.
Fig. 2c is a schematic diagram of a hardware connection in a multi-event synchronization circuit according to a second embodiment of the present invention, and as shown in fig. 2c, in the second embodiment of the present invention, a producer and a consumer that need synchronization information synchronization may be one-to-one corresponding to a synchronization information receiving and counting module according to a target first signal of producer-consumer synchronization or consumer-producer synchronization.
For example, where there are two simultaneous synchronization directions for a synchronization event, producer 1, producer 2, …, producer N is selected based on the producer's targeted first signal to synchronize to the consumer; according to the target first signal of consumer-to-producer synchronization, consumer 1, consumer 2, …, consumer M is selected. Producer 1, producer 2, … producer N may correspond one-to-one to the synchronization information reception counting module 1, synchronization information reception counting module 2, …, synchronization information reception counting module N; the consumer 1, the consumer 2, and the … may correspond to the synchronization information receiving counting module N +1, the synchronization information receiving counting module N +2, …, and the synchronization information receiving counting module N + M one to one.
In the embodiment of the invention, different synchronization rounds can realize that different synchronization rounds send synchronization information to different source synchronization objects by configuring different target first selection signals; different target second selection signals can be configured in different synchronization rounds, so that different target synchronization objects in different synchronization rounds can receive synchronization information. And each synchronous task can be executed according to the preset sequence by the sequence of different rounds.
The multi-event synchronization circuit provided by the embodiment of the invention can realize many-to-many, many-to-1 and 1-to-many synchronization tasks. Fig. 2d is a schematic diagram of a hardware connection of a first synchronization round in an exemplary many-to-many synchronization task according to a second embodiment of the present invention; fig. 2e is a diagram of the hardware connection of the second synchronization round in the exemplary many-to-many synchronization task according to the second embodiment of the present invention.
As shown in fig. 2d and 2e, in this illustrative example, there are 5 producers and 6 consumers. Both producer-to-consumer and consumer-to-producer directions are on, and the total number of synchronization rounds for both synchronization directions is 2.
As shown in fig. 2d, in the first synchronization round, the target first selection signal may determine that the producer 1 and the producer 2 are selected, and the synchronization information receiving counting module 1 and the synchronization information receiving counting module 2 perform statistical counting according to the received synchronization information sent by the producer 1 and the producer 2, respectively. When the synchronization information receiving and counting module 1 and the synchronization information receiving and counting module 2 are triggered, the information transmitting module sets the consumer 2, the consumer 3 and the consumer 4 selected by the target second selection signal as target synchronization objects and transmits synchronization information. After each of the consumer 2, the consumer 3, and the consumer 4 has operated its own task, the synchronization information may be sent to the synchronization information reception counting module 7, the synchronization information reception counting module 8, and the synchronization information reception counting module 9, respectively. After the three synchronous information receiving and counting modules are triggered, the producer 1 and the producer 2 selected by the first target selection signal are set as target synchronous objects through the information transmitting module, and synchronous information is transmitted. To this end, the synchronization tasks between 2 producers and 3 consumers of the first synchronization round in the two synchronization directions are completed.
As shown in fig. 2e, in the second synchronization round, similar to the first synchronization round, the synchronization between 3 producers and 4 consumers can be completed, and will not be described herein. Since the exemplary synchronization task only defines two synchronization rounds, after the second synchronization round is finished, the entire synchronization task is finished, and the multi-event synchronization circuit can send notification information of the end of the synchronization task to the overall control module.
For another example, fig. 2f is a schematic diagram of a hardware connection of an example 1 to one synchronization round in a multi-synchronization task according to a second embodiment of the present invention.
As shown in fig. 2f, the multi-event synchronization circuit in the embodiment of the present invention can be configured to be used in a one-way broadcast mode. In the present illustrative example, only the synchronization information of one producer need be sent to the multi-event synchronization circuit. The multi-event synchronization circuit can enable a plurality of consumers to receive the synchronization information according to the preset synchronization configuration information, and the 1-to-many one-way broadcasting function is completed. The specific using process is similar to the many-to-many process described above, and is not described here again.
For another example, fig. 2g is a schematic diagram of a hardware connection of one synchronization round in an exemplary multi-pair 1 synchronization task according to a second embodiment of the present invention.
As shown in fig. 2g, the multiple-event synchronization circuit in the embodiment of the present invention can be configured to be used in a mode of multiple pairs of 1 unidirectional centralized notification. In this illustrative example, synchronization information for multiple producers may be sent to the multi-event synchronization circuit. When the synchronous information corresponding to all the selected producers meets the triggering condition, the multi-event synchronous circuit can enable 1 consumer to receive the synchronous information according to the preset synchronous configuration information, and the one-way synchronous function of multiple pairs of 1 is completed. The specific using process is similar to the many-to-many process described above, and is not described here again.
EXAMPLE III
Fig. 3a is a flowchart of a multiple-event synchronization method provided in a third embodiment of the present invention, where the third embodiment of the present invention is applicable to a case where multiple chip cores exist in an SoC chip and synchronization information is synchronized between the chip cores in a hardware manner, and the method can be executed by the multiple-event synchronization circuit provided in any embodiment of the present invention. As shown in fig. 3a, the method specifically includes:
step 310, at least one synchronization direction included in the current synchronization task and at least one synchronization round respectively corresponding to each synchronization direction are obtained.
The information processing module group in the multi-event synchronization circuit can acquire the synchronization direction and the associated synchronization round included in the current synchronization task. Specifically, the synchronization round number counting module, the synchronization information collecting module, the transmission association information extracting module, the selection signal generating module and the state machine control module included in the information processing module group may all obtain the synchronization direction and the associated synchronization round included in the current synchronization task. The synchronization information receiving counting module in the multi-event synchronization circuit can also acquire the synchronization direction and the associated synchronization round included in the current synchronization task.
And step 320, collecting, in each synchronization direction, each event synchronization information of at least one source synchronization object respectively matched with each synchronization round, and sending each event synchronization information to at least one target synchronization object respectively matched with each synchronization round in each synchronization direction.
The information processing module group in the multi-event synchronization circuit can collect the event synchronization information of the source synchronization object. Specifically, the synchronization information collection module included in the information processing module group may collect each event synchronization information of the source synchronization object. The information processing module group in the multi-event synchronous circuit can send each event synchronous information to the information transmitting module in the multi-event synchronous circuit, and the information transmitting module can send each event synchronous information to the matched target synchronous object. Specifically, the synchronization information collection module included in the information processing module group may send each event synchronization information to the information transmission module in the multi-event synchronization circuit.
In an optional implementation manner of the embodiment of the present invention, acquiring at least one synchronization direction included in a current synchronization task and at least one synchronization round respectively corresponding to each synchronization direction includes: and receiving the synchronous configuration information and writing the synchronous configuration information into the read-write register. Specifically, the read-write register in the multi-event synchronization circuit may receive synchronization configuration information configured by a user, and write and store the synchronization configuration information.
Wherein the synchronization configuration information includes: the device comprises at least one synchronization direction, a synchronization round number respectively corresponding to each synchronization direction, a synchronization selection signal lookup table, and a total quantity value of event synchronization information of each source synchronization object required to be collected under each synchronization round.
In the embodiment of the present invention, the synchronization selection signal lookup table includes: a first lookup table corresponding to a source synchronization object and a second lookup table corresponding to a target synchronization object; the first lookup table stores the corresponding relation between the number of synchronization rounds and a first selection signal, and the first selection signal is used for indicating each source synchronization object matched with the number of synchronization rounds; the second lookup table stores a corresponding relationship between the number of synchronization rounds and a second selection signal, and the second selection signal is used for indicating each target synchronization object matched with the number of synchronization rounds.
Fig. 3b is a flowchart of another multiple-event synchronization method according to a third embodiment of the present invention. As shown in fig. 3b, in an optional implementation manner of the embodiment of the present invention, in each synchronization direction, collecting respective event synchronization information of at least one source synchronization object respectively matched with each synchronization round, and sending the respective event synchronization information to at least one target synchronization object respectively matched with each synchronization round in each synchronization direction, includes the following steps:
step 321, taking each synchronization direction as a current synchronization direction, and executing the following loop operations in parallel for each current synchronization direction:
and step 322, acquiring the current synchronization round number matched with the current synchronization direction.
The information processing module group corresponding to each synchronization direction in the multi-event synchronization circuit can acquire the associated current synchronization round number after being triggered. Specifically, the information processing module group includes a synchronization round number counting module, a synchronization information collecting module, a transmission association information extracting module, a selection signal generating module, and a state machine control module.
Step 323, generating a target first selection signal and a target second selection signal matched with the current synchronization round number through a selection signal generation module matched with the current synchronization direction, and respectively sending the target first selection signal and the target second selection signal to a synchronization information collection module matched with the current synchronization direction and a sending association information extraction module.
The synchronization information collection module may determine the selected source synchronization object according to the target first selection signal, and the synchronization information receiving count module corresponding to each source synchronization object. The sending related information extracting module can determine the selected target synchronization object according to the target second selection signal, so that the sending address of the target synchronization object can be conveniently extracted from the read-write register.
And step 324, aggregating all the event synchronization information sent by all the source synchronization objects in the current synchronization direction through the synchronization information collection module matched with the current synchronization direction, and generating a sending trigger signal when detecting that the trigger signals of all the synchronization information receiving and counting modules matched with the target first selection signal are all set.
The synchronization information receiving and counting module may first read a total quantity value of synchronization information that needs to be sent by a source synchronization object corresponding to a current synchronization task in the read-write register, and use the total quantity value as a trigger threshold in each synchronization round. The synchronization information receiving counting module may count, in real time, the information amount of the event synchronization information sent by the associated source synchronization object to the matched information processing module group, and when it is detected that the current counted information amount is greater than or equal to the trigger threshold, the synchronization information receiving counting module may set up a trigger signal.
And step 325, controlling the information processing state of the current synchronization direction from the waiting receiving state to the sending broadcasting state through the state machine control module matched with the current synchronization direction according to the sending trigger signal.
The state machine control module can switch states when receiving the sending trigger signal, so that the execution of the sending associated information extraction module is triggered conveniently.
Step 326, extracting the sending addresses of the target synchronization objects corresponding to each synchronization round respectively through a sending information extraction module matched with the current synchronization direction, and respectively acquiring event synchronization information used for sending the event synchronization information to each sending address from a synchronization information collection module; and sending each sending address and the event synchronization information corresponding to the sending address to an information transmitting module.
The sending information extraction module may determine the selected target synchronization object according to the second target signal, read the synchronization configuration information stored in the read-write register, and determine the sending address of the target synchronization object.
Step 327, after the transmitting module transmits the received event synchronization information to the matched transmitting address, the counting value of the synchronization round number counting module matched with the current synchronization direction is updated.
Step 328, determining whether the information synchronization of the number of matching synchronization rounds is completed in the current synchronization direction: if yes, the current circulation process is ended, and step 329 is executed; otherwise, go back to step 322.
And 329, outputting a synchronization end identifier when the cyclic operation is determined to be completed in all the synchronization directions.
In this embodiment, when the synchronization end identifier generating module in the multi-event synchronization circuit determines that the above-mentioned loop operation is completed in all synchronization directions (in other words, all information processing module groups complete the synchronization processing operation for the current synchronization task), the synchronization end identifier is generated and sent to the information transmitting module in the multi-event synchronization circuit, and the information transmitting module sends the synchronization end identifier to the external master control module. The master control module can learn that the current synchronous task is processed.
In the embodiment of the present invention, the multi-event synchronization circuit can support many-to-many, 1-to-many, and many-to-1 synchronization modes; the method can support one-way synchronization and also can support two-way synchronization; a single synchronization round may be supported or multiple synchronization rounds may be supported. For synchronization under different conditions, the specific synchronization process thereof may refer to the exemplary conditions in the above embodiments, which are not described herein again.
According to the technical scheme of the embodiment of the invention, at least one synchronization direction included by the current synchronization task and at least one synchronization round respectively corresponding to each synchronization direction are obtained; in each synchronization direction, collecting each event synchronization information of at least one source synchronization object respectively matched with each synchronization round, and sending each event synchronization information to at least one target synchronization object respectively matched with each synchronization round in each synchronization direction, so that the hardware mode synchronization problem of multiple events is solved, the synchronization of multiple rounds of 1-to-many, multiple pairs of 1-to-1 and multiple pairs of events can be supported, the events can be decoupled and used in the synchronization direction, and the method has great flexibility; the synchronous configuration parameters can be programmed, synchronous event changes of different synchronous rounds can be supported, the requirements of various working scenes are met, and the flexibility is greatly improved; moreover, the real-time response requirement of the synchronization event on software or firmware can be reduced, the synchronization event can respond as expected, and the synchronization efficiency is improved; in addition, a serial mode of multiple synchronous rounds can be realized, execution order preservation among different synchronous events can be realized, and execution pace among different synchronous events can be balanced.
Example four
Fig. 4 is a schematic structural diagram of a computing chip according to a fourth embodiment of the present invention, and as shown in fig. 4, the computing chip 400 includes a data processing module 200, a general control module 410, and the multiple-event synchronization circuit 100 according to any embodiment of the present invention. Wherein:
each data processing module, the master control module and the multiple event synchronous circuits are respectively mounted on a bus of the computing chip, and each multiple data processing modules are respectively in one-to-one correspondence association with each synchronous information receiving and counting module in the multiple event synchronous circuits.
And the master control module is used for sending the current synchronous task to the multi-event synchronous circuit and receiving a synchronous ending identifier output by the multi-event synchronous circuit after the current synchronous task is finished.
Specifically, the user can set the synchronous configuration information in the master control module, and send the information to the read-write register in the multi-event synchronous circuit through the master control module.
And the multi-event synchronization circuit is used for realizing multi-event synchronization between the source synchronization object in each data processing module and the target synchronization object in each data processing module according to the current synchronization task.
For the content recorded in the above embodiments, reference may be made to the multi-event synchronization implemented by the multi-event synchronization circuit, which is not described herein again.
According to the technical scheme of the embodiment of the invention, the computing chip comprising the data processing module, the master control module and the multi-event synchronization circuit is arranged, so that the problem of multi-event synchronization tasks in the computing chip is solved, multi-event synchronization is realized in a hardware mode, and the method is more efficient and flexible than a software mode.
It is to be noted that the foregoing is only illustrative of the preferred embodiments of the present invention and the technical principles employed. It will be understood by those skilled in the art that the present invention is not limited to the particular embodiments described herein, but is capable of various obvious changes, rearrangements and substitutions as will now become apparent to those skilled in the art without departing from the scope of the invention. Therefore, although the present invention has been described in greater detail by the above embodiments, the present invention is not limited to the above embodiments, and may include other equivalent embodiments without departing from the spirit of the present invention, and the scope of the present invention is determined by the scope of the appended claims.

Claims (13)

1. A multiple event synchronization circuit, comprising: the system comprises an information transmitting module and at least one information processing module group, wherein each information processing module group is associated with a set synchronization direction;
the information processing module group is used for collecting each event synchronization information of at least one source synchronization object respectively matched with each synchronization round in the associated synchronization direction when triggered and executed by the current synchronization task, and sending each event synchronization information to the information transmitting module;
wherein the current synchronization task comprises at least one synchronization direction, each synchronization direction comprising at least one synchronization round; in one synchronization round, including at least one source synchronization object synchronizing to at least one target synchronization object; in different synchronization rounds, the involved source synchronization objects are the same or different, and the target synchronization objects are the same or different;
and the information transmitting module is used for transmitting the received event synchronous information to at least one target synchronous object respectively matched with each synchronous round in each synchronous direction.
2. The multiple event synchronization circuit of claim 1, further comprising: reading and writing a register;
the read-write register is used for writing synchronous configuration information matched with the current synchronous task, and the synchronous configuration information is used for being read by the information processing module group and triggering and executing matched synchronous processing operation;
wherein, the synchronous configuration information includes: the method comprises the steps of obtaining at least one synchronization direction, the number of synchronization rounds corresponding to each synchronization direction, source synchronization objects and target synchronization objects corresponding to each synchronization round in each synchronization direction, and the total quantity value of event synchronization information of each source synchronization object required to be collected in each synchronization round.
3. The multiple event synchronization circuit of claim 2, further comprising: a plurality of synchronization information receiving and counting modules; each synchronization information receiving counting module is respectively in one-to-one correspondence with each data processing module, and the data processing modules are used as source synchronization objects or target synchronization objects in each synchronization task;
the synchronous information receiving and counting module is used for reading the matched total number value from the read-write register as a trigger threshold when the current synchronous task is triggered to execute; and counting the information quantity of the event synchronization information sent by the associated data processing module to the matched information processing module group in real time, and setting a trigger signal of the self module when the current counted information quantity is detected to be more than or equal to the trigger threshold value in each synchronization round.
4. The multiple event synchronization circuit of claim 3, wherein the set of information processing modules comprises: the device comprises a synchronous information collection module, a synchronous round number counting module and a sending correlation information extraction module;
the synchronous information collection module is used for aggregating the event synchronous information sent by all the source synchronous objects under each synchronous round associated with the synchronous direction, and finishing the collection of the event synchronous information of each synchronous round when detecting that the trigger signals of the synchronous information receiving counting module associated with each source synchronous object matched with each synchronous round are all set;
the transmission associated information extraction module is used for extracting the transmission addresses of the target synchronization objects corresponding to the synchronization rounds respectively when the synchronization information collection module is determined to finish the collection of the event synchronization information of the synchronization rounds, and respectively acquiring the event synchronization information used for being transmitted to the transmission addresses from the synchronization information collection module; sending each sending address and event synchronization information corresponding to the sending address to an information transmitting module;
the information transmitting module is specifically configured to update the count value of the synchronization round counting module after transmitting each received event synchronization information to the matched transmission address;
and the synchronization round counting module is used for counting the number of completed synchronization rounds in the associated synchronization direction.
5. The multiple-event synchronization circuit according to claim 4, wherein the source synchronization object and the target synchronization object respectively corresponding to each synchronization round in each synchronization direction in the synchronization configuration information are stored in a synchronization selection signal lookup table;
wherein the synchronization selection signal look-up table comprises: a first lookup table corresponding to a source synchronization object and a second lookup table corresponding to a target synchronization object;
the first lookup table is used for inquiring the corresponding relation between the number of synchronization rounds and a first selection signal, and the first selection signal is used for selecting at least one source synchronization object; the second lookup table is used for inquiring the corresponding relation between the number of synchronization rounds and a second selection signal, and the second selection signal is used for selecting at least one target synchronization object;
the information processing module group further includes: a selection signal generation module;
and the selection signal generation module is used for generating a target first selection signal and a target second selection signal under each synchronization round according to the number of completed synchronization rounds recorded in the synchronization round counting module and the synchronization selection signal lookup table read from the read-write register, and respectively transmitting the target first selection signal and the target second selection signal to the synchronization information collection module and the transmission associated information extraction module.
6. The multiple event synchronization circuit of claim 5, wherein the first lookup table and the second lookup table have a plurality of data entries stored therein sequentially, the data entries of the first lookup table comprising: the mapping relation among the sequence number, the repetition times and the first selection signal, and the data items of the second lookup table include: mapping relation among the sequence number, the repetition times and the second selection signal;
the selection signal generation module is specifically configured to: respectively calculating accumulated values of the repetition times according to sequence numbers in a synchronous selection signal lookup table to obtain synchronous turn number intervals corresponding to the sequence numbers, acquiring a target first selection signal and a target second selection signal corresponding to a target sequence number when the number of completed synchronous turns is determined to fall into the synchronous turn number interval corresponding to the target sequence number, and returning to a first sequence number of the synchronous selection signal lookup table to continuously calculate the accumulated values of the repetition times until the target first selection signal and the target second selection signal are determined if the accumulated values of all the repetition times in the synchronous selection signal lookup table are determined to be smaller than the number of completed synchronous turns.
7. The multiple event synchronization circuit of claim 4, wherein the set of information processing modules further comprises: a state machine control module;
the synchronization information collection module is specifically configured to: generating a transmission trigger signal when the collection of the event synchronization information of each synchronization round is completed;
and the state machine control module is used for converting the information processing state from a receiving waiting state to a broadcasting sending state in the associated synchronous direction when receiving the sending trigger signal so as to trigger the execution of the sending associated information extraction module.
8. The multiple event synchronization circuit of claim 7, wherein the synchronization information reception count module is further configured to:
and if the information processing state is detected to be converted from the receiving waiting state to the broadcasting sending state in the current synchronization round, and the data processing module associated with the self module is determined to be selected by the target first selection signal in the current synchronization round, subtracting the triggering threshold matched with the self module from the current statistical information quantity.
9. The multiple event synchronization circuit of claim 1, further comprising: a synchronization end identifier generation module;
the synchronous end identifier generating module is used for generating a synchronous end identifier and sending the synchronous end identifier to the information transmitting module when detecting that all the information processing module groups finish synchronous processing operation aiming at the current synchronous task;
and the information transmitting module is used for outputting the synchronous ending identifier to indicate the ending processing of the current synchronous task.
10. A multiple-event synchronization method performed by the multiple-event synchronization circuit of any one of claims 1-9, comprising:
acquiring at least one synchronization direction included by a current synchronization task and at least one synchronization round respectively corresponding to each synchronization direction; in one synchronization round, including at least one source synchronization object synchronizing to at least one target synchronization object; in different synchronization rounds, the involved source synchronization objects are the same or different, and the target synchronization objects are the same or different;
and in each synchronization direction, collecting each event synchronization information of at least one source synchronization object respectively matched with each synchronization round, and sending each event synchronization information to at least one target synchronization object respectively matched with each synchronization round in each synchronization direction.
11. The method according to claim 10, wherein obtaining at least one synchronization direction included in the current synchronization task and at least one synchronization round respectively corresponding to each synchronization direction comprises:
receiving synchronous configuration information and writing the synchronous configuration information into a read-write register;
wherein the synchronization configuration information includes: the method comprises the steps that at least one synchronization direction, the number of synchronization rounds corresponding to each synchronization direction, a synchronization selection signal lookup table and the total quantity value of event synchronization information of each source synchronization object required to be collected under each synchronization round are obtained;
the synchronization selection signal lookup table comprises: a first lookup table corresponding to a source synchronization object and a second lookup table corresponding to a target synchronization object;
the first lookup table stores a corresponding relation between the number of synchronization rounds and a first selection signal, and the first selection signal is used for indicating each source synchronization object matched with the number of synchronization rounds; the second lookup table stores a corresponding relationship between the number of synchronization rounds and a second selection signal, and the second selection signal is used for indicating each target synchronization object matched with the number of synchronization rounds.
12. The method of claim 11, wherein collecting, in each synchronization direction, respective event synchronization information of at least one source synchronization object respectively matched to each synchronization round, and transmitting the respective event synchronization information to at least one target synchronization object respectively matched to each synchronization round in each synchronization direction comprises:
taking each synchronous direction as a current synchronous direction, and executing the following cyclic operation in parallel:
acquiring the number of current synchronization rounds matched with the current synchronization direction;
generating a target first selection signal and a target second selection signal matched with the current synchronization round number through a selection signal generation module matched with the current synchronization direction, and respectively sending the target first selection signal and the target second selection signal to a synchronization information collection module matched with the current synchronization direction and a sending association information extraction module;
collecting all event synchronous information sent by all source synchronous objects in the current synchronous direction through a synchronous information collecting module matched with the current synchronous direction, and generating a sending trigger signal when detecting that trigger signals of all synchronous information receiving and counting modules matched with a target first selection signal are all set;
controlling the information processing state of the current synchronization direction to enter a broadcast sending state from a receiving waiting state through a state machine control module matched with the current synchronization direction according to the sending trigger signal;
extracting the sending address of each target synchronization object corresponding to each synchronization round respectively through a sending information extraction module matched with the current synchronization direction, and respectively acquiring event synchronization information used for sending to each sending address from a synchronization information collection module; sending each sending address and event synchronization information corresponding to the sending address to an information transmitting module;
after the received event synchronization information is sent to the matched sending address through the transmitting module, the counting value of the synchronization round number counting module matched with the current synchronization direction is updated;
returning to execute the operation of obtaining the current synchronization turn number matched with the current synchronization direction until the information synchronization of the matched synchronization turn number is completed in the current synchronization direction;
and outputting a synchronization end mark when the cyclic operation is determined to be completed in all the synchronization directions.
13. A computing chip comprising a plurality of data processing modules, an overall control module and a multi-event synchronization circuit according to any of claims 3-9;
each data processing module, the master control module and the multi-event synchronous circuit are respectively mounted on a bus of the computing chip, and each data processing module is respectively in one-to-one correspondence association with each synchronous information receiving counting module in the multi-event synchronous circuit;
the master control module is used for sending the current synchronous task to the multi-event synchronous circuit and receiving a synchronous ending identifier output by the multi-event synchronous circuit after the current synchronous task is finished;
and the multi-event synchronization circuit is used for realizing multi-event synchronization between a source synchronization object in each data processing module and a target synchronization object in each data processing module according to a current synchronization task.
CN202110621860.7A 2021-06-04 2021-06-04 Multi-event synchronization circuit, method and computing chip Active CN113076208B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110621860.7A CN113076208B (en) 2021-06-04 2021-06-04 Multi-event synchronization circuit, method and computing chip

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110621860.7A CN113076208B (en) 2021-06-04 2021-06-04 Multi-event synchronization circuit, method and computing chip

Publications (2)

Publication Number Publication Date
CN113076208A CN113076208A (en) 2021-07-06
CN113076208B true CN113076208B (en) 2021-08-31

Family

ID=76617017

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110621860.7A Active CN113076208B (en) 2021-06-04 2021-06-04 Multi-event synchronization circuit, method and computing chip

Country Status (1)

Country Link
CN (1) CN113076208B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN85109560A (en) * 1984-12-28 1986-07-30 富士通株式会社 Digital transmission system
US5754501A (en) * 1995-03-30 1998-05-19 Sony Corporation Information transmission method and apparatus and information receiving method and apparatus
CN1759324A (en) * 2003-03-11 2006-04-12 摩托罗拉公司(在特拉华州注册的公司) Method and apparatus for source device synchronization in a communication system
CN107729366A (en) * 2017-09-08 2018-02-23 广东省建设信息中心 A kind of pervasive multi-source heterogeneous large-scale data synchronization system
CN110347520A (en) * 2019-06-28 2019-10-18 北京大米科技有限公司 Method, apparatus, electronic equipment and the medium of message distribution

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5482102B2 (en) * 2009-10-29 2014-04-23 富士通株式会社 Signal transmission method and transmission device
CN106643752A (en) * 2015-10-30 2017-05-10 中国移动通信集团公司 Navigation information generation method and system and terminal equipment
CN112131312A (en) * 2020-09-16 2020-12-25 微医云(杭州)控股有限公司 Data synchronization system, method, device, equipment and storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN85109560A (en) * 1984-12-28 1986-07-30 富士通株式会社 Digital transmission system
US5754501A (en) * 1995-03-30 1998-05-19 Sony Corporation Information transmission method and apparatus and information receiving method and apparatus
CN1759324A (en) * 2003-03-11 2006-04-12 摩托罗拉公司(在特拉华州注册的公司) Method and apparatus for source device synchronization in a communication system
CN107729366A (en) * 2017-09-08 2018-02-23 广东省建设信息中心 A kind of pervasive multi-source heterogeneous large-scale data synchronization system
CN110347520A (en) * 2019-06-28 2019-10-18 北京大米科技有限公司 Method, apparatus, electronic equipment and the medium of message distribution

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"High performance using synchronous elastic circuits with lower overheads";Wasundhara D. Paliwal等;《2014 International Conference on Advances in Electronics Computers and Communications》;20150108;第1-6页 *
"基于Unity 3D的远程医疗系统的设计与实现";蒋帅;《中国优秀硕士学位论文全文数据库 信息科技辑》;20180115(第01期);第I138-637页 *

Also Published As

Publication number Publication date
CN113076208A (en) 2021-07-06

Similar Documents

Publication Publication Date Title
CN106452819B (en) Data acquisition system and data acquisition method
JP6838848B2 (en) Systems and methods for synchronizing processor operations over communication networks
US10050881B2 (en) Method and apparatus for transmitting and receiving data in communication system
CN107017958B (en) A kind of method for synchronizing time and corresponding system based on NTP
CN100452885C (en) High-speeld code-flow playing and receiving device based on PCI
CN107360016B (en) Slave device control method
CN113076208B (en) Multi-event synchronization circuit, method and computing chip
CN110620711B (en) Intelligent household client and multi-gateway control method thereof
KR102308601B1 (en) Method And System for Positioning based on Reverse Time Difference Of Arrival
CN112468375B (en) Method for acquiring transmission performance evaluation data for data distribution service
CN108882253A (en) Long range wireless transmitting system and its communication means based on LoRa communication
CN106406793A (en) Identifier configuration method and system and IP (Internet Protocol) address allocation method and system for node machine
CN203014851U (en) Multi-interface self-adapting radar video digitization processing device
CN114884975B (en) Service message processing method and device, storage medium and electronic device
CN203151681U (en) Detection system for remote media playing signal time delay
KR102328672B1 (en) Method And System for Providing Hybrid Synchronization
US10134442B2 (en) Method for synchronising and rendering multimedia streams
CN102446157B (en) Communication method and device of processor cores based on array structure
Luo et al. Distributed Kalman filtering fusion with packet loss or intermittent communications from local estimators to fusion center
CN110958072B (en) Multi-node audio and video information synchronous sharing display method
CN111212124A (en) Asynchronous sequencing technology for converting consensus into processing concurrent requests to asynchronous system
KR102328671B1 (en) Method And System for Providing Wireless Synchronization
CN110674068A (en) Information interaction method among board cards, distributed board card and storage medium
CN101685592A (en) LED chip implement scheme
CN103238296A (en) Communication system and superimposing apparatus

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: Room a-522, 188 Yesheng Road, Lingang New District, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai, 201306

Patentee after: Shanghai Suiyuan Technology Co.,Ltd.

Country or region after: China

Address before: Room a-522, 188 Yesheng Road, Lingang New District, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai, 201306

Patentee before: SHANGHAI ENFLAME TECHNOLOGY Co.,Ltd.

Country or region before: China

CP03 Change of name, title or address