CN110764924A - Inter-core communication method and device of multi-core processor - Google Patents
Inter-core communication method and device of multi-core processor Download PDFInfo
- Publication number
- CN110764924A CN110764924A CN201810845010.3A CN201810845010A CN110764924A CN 110764924 A CN110764924 A CN 110764924A CN 201810845010 A CN201810845010 A CN 201810845010A CN 110764924 A CN110764924 A CN 110764924A
- Authority
- CN
- China
- Prior art keywords
- descriptor
- memory queue
- data
- shared memory
- occupied
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17331—Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Communication Control (AREA)
Abstract
The embodiment of the invention provides an inter-core communication method and device of a multi-core processor. The method applied to the sending core comprises the following steps: writing data to be transmitted into a first shared memory queue, and writing data characteristic information corresponding to the data to be transmitted into an idle descriptor in a second shared memory queue; acquiring a descriptor address of an occupied descriptor written with data characteristic information corresponding to data to be transmitted; writing the descriptor address of the occupied descriptor into a third special memory queue corresponding to the receiving core, so that the receiving core obtains the occupied descriptor according to the descriptor address of the occupied descriptor and obtains the data to be transmitted according to the occupied descriptor; the first shared memory queue, the second shared memory queue and the third dedicated memory queue are queues obtained by dividing in a pre-configured memory segment, and each receiving core corresponds to one third dedicated memory queue. The embodiment of the invention increases the use flexibility of the memory and reduces the consumption of the kernel.
Description
Technical Field
The embodiment of the invention relates to the technical field of communication, in particular to an inter-core communication method and device of a multi-core processor.
Background
With the development of wireless communication base station counting, higher and higher requirements are put forward on the processing speed, the parallel processing capability and the miniaturization integration of a base station core processor, and the development requirements of the technologies can be effectively met by the appearance of a multi-core processor product.
At present, a multi-core processor integrates not only the number of single-type computing Processing cores, but also the types of multiple-type computing Processing cores, for example, the TCI6614 integrates multiple computing units such as an random access memory (ARM) core, a Digital Signal Processing (DSP) core, and a communication coprocessor. In a multi-core processor, data sharing and transmission technology among multiple cores is an important guarantee for realizing multi-core cooperative work and improving processor efficiency.
At present, a shared memory is generally used as a medium for data exchange among a plurality of kernels, the shared memory is a physical space which allows the plurality of kernels to access, a sending core writes data into the shared memory, and a receiving core can read data from the shared memory according to a convention mode. The current commonly used methods for performing inter-core data communication by using a shared memory mainly include the following methods:
the first method comprises the following steps: the shared memory is divided into two storage areas which are respectively used as a transmitting channel and a receiving channel of a transmitting core and a receiving core, and the read-write access of the channels of the transmitting core and the receiving core is realized through a locking mechanism. However, this method results in that the shared memory area can be accessed by only one core at a time, which affects the efficiency of data exchange between the sending core and the receiving core.
And the second method comprises the following steps: the read-write pointer replaces the locking mechanism in the first type, and each channel uses a ring queue to realize circular read-write. The sending core judges whether enough space is available for writing data according to the value of the read-write pointer, if the remaining space is satisfied, the data is written into the queue according to the write pointer, and the write pointer is updated to serve as the initial address of the next write data; and the receiving core polls the annular queue, reads data according to the current read pointer when finding that unread data exists in the queue, and updates the read pointer to be used as the initial address of the next read data. However, this method requires that the length of each packet is agreed when sending a fixed-length data packet, and when there is more short-length data, a certain amount of memory waste is caused; and the problem that when sending data packets with indefinite length, in the process of continuously sending messages, the read-write pointer at the back is easily disturbed due to the fault of a certain packet, and the number of unprocessed packets cannot be judged due to indefinite packet length is caused.
And the third is that: two circular queues are adopted in a data transmission direction, one queue is used for storing a read-write pointer pointing to a data entity, and fixed-length data packets are transmitted by the queue; the other queue holds data entities and the queue delivers packets of indefinite length. However, when the multi-way data transmission is performed among the multiple cores, the number of the required dimension queues is large, the operation is complex, and the memory overhead is large.
In summary, the problems of low flexibility of use of the memory area used for inter-core communication and high memory overhead exist in the prior art.
Disclosure of Invention
The embodiment of the invention provides an inter-core communication method and device of a multi-core processor, and aims to solve the problems that in the prior art, a memory area used for inter-core communication is low in use flexibility and high in memory overhead.
In view of the foregoing problems, in a first aspect, an embodiment of the present invention provides an inter-core communication method for a multi-core processor, where the inter-core communication method is applied to a sending core, and the method includes:
writing data to be transmitted into a first shared memory queue for storing a data packet entity, and writing data characteristic information corresponding to the data to be transmitted into an idle descriptor in a second shared memory queue, wherein the second shared memory queue is used for storing a data packet descriptor with a preset data structure;
obtaining a descriptor address of an occupied descriptor written with data characteristic information corresponding to the data to be transmitted;
writing the descriptor address of the occupied descriptor into a third dedicated memory queue corresponding to a receiving core, so that the receiving core obtains the occupied descriptor according to the descriptor address of the occupied descriptor and obtains the data to be transmitted according to the occupied descriptor; wherein the content of the first and second substances,
the first shared memory queue, the second shared memory queue and the third dedicated memory queue are queues obtained by dividing in a pre-configured memory segment, and each receiving core corresponds to one third dedicated memory queue.
In a second aspect, an embodiment of the present invention provides an inter-core communication method for a multi-core processor, where the inter-core communication method is applied to a receiving core, and the method is characterized in that:
obtaining a descriptor address of an occupied descriptor from a third special memory queue corresponding to a receiving core, wherein the occupied descriptor is a descriptor written with data characteristic information corresponding to data to be transmitted;
obtaining the occupied descriptors from a second shared memory queue for storing data packet descriptors with a preset data structure according to the descriptor addresses of the occupied descriptors;
obtaining the data to be transmitted from a first shared memory queue for storing a data packet entity according to the data characteristic information in the occupied descriptor; wherein the content of the first and second substances,
the first shared memory queue, the second shared memory queue and the third dedicated memory queue are queues obtained by dividing in a pre-configured memory segment, and each receiving core corresponds to one third dedicated memory queue.
In a third aspect, an embodiment of the present invention provides an inter-core communication apparatus for a multi-core processor, which is applied to a sending core, and the apparatus includes:
the device comprises a first write-in module, a second write-in module and a first data processing module, wherein the first write-in module is used for writing data to be transmitted into a first shared memory queue for storing a data packet entity and writing data characteristic information corresponding to the data to be transmitted into an idle descriptor in a second shared memory queue, and the second shared memory queue is used for storing a data packet descriptor with a preset data structure;
the acquisition module is used for acquiring a descriptor address of an occupied descriptor written with data characteristic information corresponding to the data to be transmitted;
a second writing module, configured to write the descriptor address of the occupied descriptor into a third dedicated memory queue corresponding to a receiving core, so that the receiving core obtains the occupied descriptor according to the descriptor address of the occupied descriptor, and obtains the to-be-transmitted data according to the occupied descriptor; wherein the content of the first and second substances,
the first shared memory queue, the second shared memory queue and the third dedicated memory queue are queues obtained by dividing in a pre-configured memory segment, and each receiving core corresponds to one third dedicated memory queue.
In a fourth aspect, an embodiment of the present invention provides an inter-core communication apparatus for a multi-core processor, which is applied to a receiving core, and the apparatus includes:
a first obtaining module, configured to obtain a descriptor address of an occupied descriptor from a third dedicated memory queue corresponding to a receiving core, where the occupied descriptor is a descriptor to which data feature information corresponding to data to be transmitted is written;
a second obtaining module, configured to obtain the occupied descriptor from a second shared memory queue for storing a packet descriptor having a preset data structure according to the descriptor address of the occupied descriptor;
a third obtaining module, configured to obtain the data to be transmitted from a first shared memory queue for storing a data packet entity according to the data feature information in the occupied descriptor; wherein the content of the first and second substances,
the first shared memory queue, the second shared memory queue and the third dedicated memory queue are queues obtained by dividing in a pre-configured memory segment, and each receiving core corresponds to one third dedicated memory queue.
In a fifth aspect, an embodiment of the present invention provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, where the processor implements the steps of the inter-core communication method of the multi-core processor when executing the computer program.
In a sixth aspect, an embodiment of the present invention provides a non-transitory computer readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the steps of the inter-core communication method of a multi-core processor.
According to the inter-core communication method and device of the multi-core processor, data to be transmitted are written into the first shared memory queue for storing the data packet entity, data characteristic information corresponding to the data to be transmitted is written into the idle descriptor in the second shared memory queue, then the descriptor address of the occupied descriptor of the data characteristic information corresponding to the data to be transmitted is obtained, and the descriptor address is written into the third special memory queue corresponding to the receiving core, so that the data packet entity with an indefinite length is separated from the data characteristic information with a definite length, and the use flexibility of the memory area where the data packet is located is improved; in addition, the data packet descriptor and the descriptor address are separated, so that multi-way communication among the cores can be completed by using fewer channels, and convenience is provided for maintenance of the multi-way communication; in addition, all the cores share one memory queue for storing the data packet entity and one memory queue for storing the data packet descriptor, so that the memory overhead is saved; in addition, each core transmits the descriptor address through a special memory queue, and mutual interference between multiple cores during data receiving is avoided.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and those skilled in the art can also obtain other drawings according to the drawings without creative efforts.
FIG. 1 is a flow chart illustrating the steps of an inter-core communication method applied to a multi-core processor of a sending core in an embodiment of the present invention;
FIG. 2 is a flow chart illustrating the steps of an inter-core communication method applied to a multi-core processor of a receiving core in an embodiment of the present invention;
FIG. 3 shows a block diagram of an inter-core communication apparatus of a multi-core processor applied to a transmitting core in an embodiment of the present invention;
FIG. 4 shows a block diagram of an inter-core communication apparatus of a multi-core processor applied to a receiving core in an embodiment of the present invention;
fig. 5 shows a block diagram of an electronic device in an embodiment of the invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
As shown in fig. 1, which is a flowchart of steps of an inter-core communication method applied to a multi-core processor of a sending core in an embodiment of the present invention, the method includes the following steps:
step 101: and writing the data to be transmitted into a first shared memory queue for storing a data packet entity, and writing data characteristic information corresponding to the data to be transmitted into an idle descriptor in a second shared memory queue.
In this embodiment, specifically, the queues obtained by dividing the preconfigured memory segment include a first shared memory queue, a second shared memory queue, and a third dedicated memory queue, where the first shared memory queue is used to store the data packet entity, the second shared memory queue is used to store the data packet descriptor having the preset data structure, the third dedicated memory queue is used to store the descriptor address of the data packet descriptor in the second shared memory queue, and each receiving core corresponds to one third dedicated memory queue. At this time, specifically, when the multi-core processor has N cores, the number of queues obtained by dividing the memory segment is N +2, where the number of the first shared memory queues is 1, the number of the second shared memory queues is 1, the number of the third dedicated memory queues is N, and N is a positive integer greater than 1.
In addition, specifically, each memory queue is a circular queue, and each queue is provided with a read-write index or a read-write pointer, so as to realize the positioning and updating of the data storage position.
In addition, in this step, specifically, when the sending core needs to transmit the data to be transmitted to a receiving core, the position for writing the data to be transmitted may be obtained in the first shared memory queue for storing the data packet entity, the data to be transmitted may be written in the first shared memory queue, then the idle descriptor for writing the data characteristic information corresponding to the data to be transmitted may be obtained in the second shared memory queue, and the data characteristic information corresponding to the data to be transmitted may be written in the idle descriptor in the second shared memory queue, so as to implement respective transmission of the data characteristic information of the data entity to be transmitted and the data to be transmitted, that is, implement respective transmission of the indefinite length data packet and the fixed length data packet, thereby improving the flexibility of use of the memory queue.
Step 102: and acquiring the descriptor address of the occupied descriptor written with the data characteristic information corresponding to the data to be transmitted.
In this step, specifically, after writing the data characteristic information corresponding to the data to be transmitted into the idle descriptor in the second shared memory queue, the occupied descriptor written with the data characteristic information corresponding to the data to be transmitted is obtained, and at this time, the descriptor address of the occupied descriptor in the second shared memory queue may be obtained, so that the receiving core may find the occupied descriptor according to the descriptor address, so as to find the data corresponding to the data characteristic information in the occupied descriptor, and further implement the whole transmission process of the data between the sending core and the receiving core.
Step 103: writing the descriptor address of the occupied descriptor into a third dedicated memory queue corresponding to the receiving core.
In this step, specifically, after the descriptor address of the occupied descriptor written with the data feature information corresponding to the data to be transmitted is obtained, the descriptor address of the occupied descriptor may be written into a third dedicated memory queue corresponding to the receiving core, so that the receiving core obtains the occupied descriptor according to the descriptor address of the occupied descriptor, and obtains the data to be transmitted according to the occupied descriptor, thereby implementing the transmission process of the data between the sending core and the receiving core.
In addition, specifically, the data entity to be transmitted, the descriptor written in the data characteristic information of the data to be transmitted, and the descriptor address are respectively transmitted through a memory queue, and all cores share a first shared memory queue for storing the data packet entity and a second shared memory queue for storing the data packet descriptor, so that only the first shared memory queue, the second shared memory queue, and a third dedicated memory queue with the same number as that of the cores need to be maintained in the data transmission process.
In this way, in this embodiment, data to be transmitted is written into the first shared memory queue for storing the data packet entity, data feature information corresponding to the data to be transmitted is written into the idle descriptor in the second shared memory queue, then a descriptor address of an occupied descriptor into which the data feature information corresponding to the data to be transmitted is written is obtained, and the descriptor address is written into the third dedicated memory queue corresponding to the receiving core, so that the data packet entity of indefinite length is separated from the data feature information of definite length, and the use flexibility of the memory region in which the data packet is located is improved; in addition, the data packet descriptor and the descriptor address are separated, so that multi-way communication among the cores can be completed by using fewer channels, and convenience is provided for maintenance of the multi-way communication; in addition, all the cores share one memory queue for storing the data packet entity and one memory queue for storing the data packet descriptor, so that the memory overhead is saved; in addition, each core transmits the descriptor address through a special memory queue, and mutual interference between multiple cores during data receiving is avoided.
Furthermore, each memory queue is provided with a read-write pointer or a read-write index for locating and updating data write and read positions in the queue.
At this time, in this embodiment, before writing data to be transmitted into a first shared memory queue for storing a data packet entity and writing data characteristic information corresponding to the data to be transmitted into an idle descriptor in a second shared memory queue, the method further includes, when it is detected that the first shared memory queue meets a data transmission requirement and the second shared memory queue has the idle descriptor, locking a write pointer of the first shared memory queue and a read pointer of the second shared memory queue; and then writing the data to be transmitted into the position pointed by the write pointer in the first shared memory queue, and writing the data characteristic information corresponding to the data to be transmitted into the idle descriptor pointed by the read pointer in the second shared memory queue.
Specifically, when it is detected that the first shared memory queue meets the data sending requirement, the unoccupied space in the first shared memory queue can store the data to be transmitted.
Therefore, by locking the write pointer in the first shared memory queue and the read pointer in the second shared memory queue, access conflict between multiple cores to the memory queue is avoided, normal access of the sending core to the first shared memory queue and the second shared memory queue is guaranteed, namely, the sending core is guaranteed to write the data to be transmitted into the position pointed by the write pointer in the first shared memory queue according to rules, and data characteristic information corresponding to the data to be transmitted is written into the idle descriptor pointed by the read pointer in the second shared memory queue, so that a writing process of separating a data entity from the data characteristic information is realized.
In addition, specifically, when writing the descriptor address of the occupied descriptor into the third dedicated memory queue corresponding to the receiving core, the descriptor address of the occupied descriptor may be written into a position pointed by a write pointer in the third dedicated memory queue corresponding to the receiving core according to the write pointer in the third dedicated memory queue corresponding to the receiving core.
Of course, specifically, the pointed position of the write pointer in the third dedicated memory queue is the tail of the third dedicated memory queue, so that writing can be performed according to a certain order when the descriptor address is written into the third dedicated memory queue.
Therefore, the read-write fingers in the memory queues are used for positioning the write-in positions of the data, and the first shared memory queue, the second shared memory queue and the third special memory queue are normally used.
In addition, specifically, it should be noted herein that before data transmission, the first shared memory queue, the second shared memory queue, and the third dedicated memory queue may be initialized respectively; when the first shared memory queue is initialized, both a read pointer and a write pointer in the first shared memory queue can point to the initial position of the first shared memory queue, and the write pointer is increased progressively from the initial position; when initializing the second shared memory queue, the read pointer and the write pointer in the second shared memory queue may both point to the starting position, the sending core identity and the receiving core identity in the data packet descriptor are initialized to invalid values, the starting address and the length of the data packet entity are initialized to invalid values, and the memory size of the first shared memory queue and the total number of the data packet descriptor are filled; when the third dedicated memory queue is initialized, both the read pointer and the write pointer in the third dedicated memory queue may point to the start position, and the descriptor address stored in each data packet in the queue is initialized to an invalid value. Thus, through the initialization process, convenience is provided for transmitting data through the first shared memory queue, the second shared memory queue and the third dedicated memory queue.
In addition, after the data to be transmitted is written into the first shared memory queue for storing the data packet entity and the data characteristic information corresponding to the data to be transmitted is written into the idle descriptor in the second shared memory queue, the write pointer in the first shared memory queue and the read pointer in the second shared memory queue may also be updated.
Specifically, when the read pointer in the second shared memory queue is updated, and when the read pointer in the second shared memory queue is increased by 1, it indicates that the sending core has acquired an idle descriptor in the second shared memory queue.
Therefore, by updating the write pointer in the first shared memory queue and the read pointer in the second shared memory queue, the sending core can know whether the remaining space in the first shared memory queue and the second shared memory queue have the idle descriptors, so that a basis is provided for data transmission.
Furthermore, the preset data structure of the packet descriptor further includes: the total number of the data packet descriptors in the second shared memory queue, the memory size of the first shared memory queue, the data packet entity start address and the data packet entity length corresponding to the data to be transmitted, the identity of the sending core, and the identity of the receiving core.
At this time, the data characteristic information of the data to be transmitted also includes the total number of the packet descriptors in the second shared memory queue, the memory size of the first shared memory queue, the packet entity start address and the packet entity length corresponding to the data to be transmitted, the identity of the sending core, and the identity of the receiving core. The data characteristic information of the data to be transmitted is written into the idle descriptor according to the preset data structure of the data packet descriptor, so that the receiving core can obtain the data to be transmitted according to the data characteristic information in the occupied descriptor.
In this way, in this embodiment, data to be transmitted is written into the first shared memory queue for storing the data packet entity, data feature information corresponding to the data to be transmitted is written into the idle descriptor in the second shared memory queue, then a descriptor address of an occupied descriptor into which the data feature information corresponding to the data to be transmitted is written is obtained, and the descriptor address is written into the third dedicated memory queue corresponding to the receiving core, so that separation of the data packet entity of an indefinite length from the data feature information of a definite length is achieved, and the use flexibility of the memory region in which the data packet is located is improved; in addition, the data packet descriptor and the descriptor address are separated, so that multi-way communication among the cores can be completed by using fewer channels, and convenience is provided for maintenance of the multi-way communication; in addition, all the cores share one memory queue for storing the data packet entity and one memory queue for storing the data packet descriptor, so that the memory overhead is saved; in addition, each core transmits the descriptor address through a special memory queue, and mutual interference between multiple cores during data receiving is avoided.
As shown in fig. 2, which is a flowchart of steps of an inter-core communication method applied to a multi-core processor of a receiving core in the embodiment of the present invention, the method includes the following steps:
step 201: obtaining descriptor addresses of occupied descriptors from a third private memory queue corresponding to the receiving core.
In this embodiment, specifically, the queues obtained by dividing the preconfigured memory segment include a first shared memory queue, a second shared memory queue, and a third dedicated memory queue, where the first shared memory queue is used to store the data packet entity, the second shared memory queue is used to store the data packet descriptor having the preset data structure, the third dedicated memory queue is used to store the descriptor address of the data packet descriptor in the second shared memory queue, and each receiving core corresponds to one third dedicated memory queue. At this time, specifically, when the multi-core processor has N cores, the number of queues obtained by dividing the memory segment is N +2, where the number of the first shared memory queues is 1, the number of the second shared memory queues is 1, the number of the third dedicated memory queues is N, and N is a positive integer greater than 1.
In addition, specifically, each memory queue is a circular queue, and each queue is provided with a read-write index or a read-write pointer, so as to realize the positioning and updating of the data storage position.
In this step, specifically, the receiving core may obtain a descriptor address of an occupied descriptor from a third dedicated memory queue corresponding to the receiving core, where the occupied descriptor is a descriptor to which data feature information corresponding to the data to be transmitted has been written, so that the receiving core can obtain the occupied descriptor from the second shared memory queue according to the descriptor address.
Step 202: and obtaining the occupied descriptors from a second shared memory queue for storing the data packet descriptors with the preset data structure according to the descriptor addresses of the occupied descriptors.
In this step, specifically, after the descriptor address of the occupied descriptor is obtained, the occupied descriptor may be obtained from the second shared memory queue according to the descriptor address of the occupied descriptor, so that the data to be transmitted may be obtained according to the data feature information in the occupied descriptor.
Step 203: and obtaining the data to be transmitted from the first shared memory queue for storing the data packet entity according to the data characteristic information in the occupied descriptor.
In this step, specifically, after the receiving core obtains the occupied descriptor, the data to be transmitted may be obtained from the first shared memory queue for storing the data packet entity according to the data feature information in the occupied descriptor, so as to implement the data transmission process.
In this way, in this embodiment, the descriptor address of the occupied descriptor is obtained from the third dedicated memory queue corresponding to the receiving core, where the occupied descriptor is a descriptor written with data feature information corresponding to the data to be transmitted, then the occupied descriptor is obtained from the second shared memory queue for storing the data packet descriptor having the preset data structure according to the descriptor address of the occupied descriptor, and finally the data to be transmitted is obtained from the first shared memory queue for storing the data packet entity according to the data feature information in the occupied descriptor, so that the respective obtaining of the data packet entity of indefinite length and the data feature information of definite length is realized, and the flexibility of use of the memory region where the data packet is located is improved; in addition, the data packet descriptor and the descriptor address are respectively obtained, so that the multi-way communication among the cores can be completed by using fewer channels, and convenience is provided for the maintenance of the multi-way communication; in addition, all the cores share one first shared memory queue for storing the data packet entity and one second shared memory queue for storing the data packet descriptor, and memory overhead is saved; in addition, each kernel transmits the descriptor address through the corresponding special memory queue, mutual interference when receiving data among multiple cores is avoided, and safe transmission of the data is guaranteed.
Furthermore, each memory queue is provided with a read-write pointer. At this time, when the descriptor address of the occupied descriptor is obtained from the third dedicated memory queue corresponding to the receiving core, when it is detected that an unread descriptor address exists in the third dedicated memory queue according to the read pointer in the third dedicated memory queue, the descriptor address of the occupied descriptor may be obtained according to the read pointer in the third dedicated memory queue.
In this way, by setting the read pointer, the receiving core can accurately acquire the descriptor address, and omission of the descriptor address which is not acquired is avoided.
In addition, specifically, after the descriptor address of the occupied descriptor is obtained from the third dedicated memory queue corresponding to the receiving core, the read pointer in the third dedicated memory queue may also be updated.
Therefore, by updating the read pointer in the third dedicated memory queue, the accurate acquisition process of the descriptor address in the third dedicated memory queue is ensured, and the receiving core is prevented from missing the unread descriptor address.
In addition, further, after the data to be transmitted is obtained from the first shared memory queue for storing the data packet entity according to the data feature information in the occupied descriptor, the read pointer in the first shared memory queue may be locked and updated, and the write pointer in the second shared memory queue may be locked and updated. Therefore, access conflict of a plurality of receiving cores to the first shared memory queue and the second shared memory queue is avoided, and safety in data receiving is guaranteed.
Specifically, when the write pointer in the second shared memory queue is updated, and when the write pointer is incremented by 1, it indicates that the receiving core releases an occupied descriptor, that is, a free descriptor is added to the second shared memory queue.
Further, the preset data structure of the packet descriptor includes: the total number of the data packet descriptors in the second shared memory queue, the memory size of the first shared memory queue, the data packet entity start address and the data packet entity length corresponding to the data to be transmitted, the identity of the sending core, and the identity of the receiving core.
At this time, the data characteristic information of the data to be transmitted also includes the total number of the packet descriptors in the second shared memory queue, the memory size of the first shared memory queue, the packet entity start address and the packet entity length corresponding to the data to be transmitted, the identity of the sending core, and the identity of the receiving core. The data characteristic information of the data to be transmitted is written into the idle descriptor according to the preset data structure of the data packet descriptor, so that the receiving core can obtain the data to be transmitted according to the data characteristic information in the occupied descriptor.
In this way, in this embodiment, the descriptor address of the occupied descriptor is obtained from the third dedicated memory queue corresponding to the receiving core, where the occupied descriptor is a descriptor written with data feature information corresponding to the data to be transmitted, the occupied descriptor is obtained from the second shared memory queue according to the descriptor address of the occupied descriptor, and finally the data to be transmitted is obtained from the first shared memory queue for storing the data packet entity according to the data feature information in the occupied descriptor, so that the respective obtaining of the data packet entity of indefinite length and the data feature information of definite length is realized, and the use flexibility of the memory region where the data packet is located is improved; in addition, the data packet descriptor and the descriptor address are respectively obtained, so that the multi-way communication among the cores can be completed by using fewer channels, and convenience is provided for the maintenance of the multi-way communication; in addition, all the cores share one first shared memory queue for storing the data packet entity and one second shared memory queue for storing the data packet descriptor, and memory overhead is saved; in addition, each kernel transmits the descriptor address through the corresponding special memory queue, mutual interference when receiving data among multiple cores is avoided, and safe transmission of the data is guaranteed.
Furthermore, as shown in fig. 3, a block diagram of an inter-core communication apparatus applied to a multi-core processor for sending cores in the embodiment of the present invention is shown, where the apparatus includes:
a first writing module 301, configured to write data to be transmitted into a first shared memory queue for storing a data packet entity, and write data characteristic information corresponding to the data to be transmitted into an idle descriptor in a second shared memory queue, where the second shared memory queue is used to store a data packet descriptor with a preset data structure;
an obtaining module 302, configured to obtain a descriptor address of an occupied descriptor written with data feature information corresponding to the to-be-transmitted data;
a second writing module 303, configured to write the descriptor address of the occupied descriptor into a third dedicated memory queue corresponding to a receiving core, so that the receiving core obtains the occupied descriptor according to the descriptor address of the occupied descriptor, and obtains the to-be-transmitted data according to the occupied descriptor; wherein the content of the first and second substances,
the first shared memory queue, the second shared memory queue and the third dedicated memory queue are queues obtained by dividing in a pre-configured memory segment, and each receiving core corresponds to one third dedicated memory queue.
Optionally, the first writing module 301 includes:
a locking unit, configured to lock a write pointer of the first shared memory queue and a read pointer of the second shared memory queue when it is detected that the first shared memory queue meets a data sending requirement and a free descriptor exists in the second shared memory queue;
a write-in unit, configured to write the to-be-transmitted data into a position pointed by a write pointer in the first shared memory queue, and write data characteristic information corresponding to the to-be-transmitted data into an idle descriptor pointed by a read pointer in the second shared memory queue;
the second writing module 303 is configured to write the descriptor address of the occupied descriptor into a position pointed by a write pointer in a third dedicated memory queue corresponding to the receiving core according to the write pointer in the third dedicated memory queue corresponding to the receiving core.
Optionally, the apparatus further comprises:
a first updating module, configured to update a write pointer in the first shared memory queue and a read pointer in the second shared memory queue;
and the second updating module is used for updating the write pointer in the third special memory queue corresponding to the receiving core.
Optionally, the preset data structure of the packet descriptor includes: the total number of the data packet descriptors in the second shared memory queue, the memory size of the first shared memory queue, the data packet entity start address and the data packet entity length corresponding to the data to be transmitted, the identity of the sending core, and the identity of the receiving core.
According to the device provided by the embodiment of the invention, the data to be transmitted is written into the first shared memory queue for storing the data packet entity, the data characteristic information corresponding to the data to be transmitted is written into the idle descriptor in the second shared memory queue, then the descriptor address of the occupied descriptor written with the data characteristic information corresponding to the data to be transmitted is obtained, and the descriptor address is written into the third special memory queue corresponding to the receiving core, so that the separation of the data packet entity with an indefinite length from the data characteristic information with a definite length is realized, and the use flexibility of the memory area where the data packet is located is improved; in addition, the data packet descriptor and the descriptor address are separated, so that multi-way communication among the cores can be completed by using fewer channels, and convenience is provided for maintenance of the multi-way communication; in addition, all the cores share one memory queue for storing the data packet entity and one memory queue for storing the data packet descriptor, so that the memory overhead is saved; in addition, each core transmits the descriptor address through a special memory queue, and mutual interference between multiple cores during data receiving is avoided.
Furthermore, as shown in fig. 4, a block diagram of an inter-core communication apparatus applied to a multi-core processor receiving cores in the embodiment of the present invention is shown, where the apparatus includes:
a first obtaining module 401, configured to obtain a descriptor address of an occupied descriptor from a third dedicated memory queue corresponding to a receiving core, where the occupied descriptor is a descriptor written with data feature information corresponding to data to be transmitted;
a second obtaining module 402, configured to obtain the occupied descriptor from a second shared memory queue for storing a packet descriptor having a preset data structure according to the descriptor address of the occupied descriptor;
a third obtaining module 403, configured to obtain, according to the data feature information in the occupied descriptor, the to-be-transmitted data from a first shared memory queue for storing a data packet entity; wherein the content of the first and second substances,
the first shared memory queue, the second shared memory queue and the third dedicated memory queue are queues obtained by dividing in a pre-configured memory segment, and each receiving core corresponds to one third dedicated memory queue.
Optionally, the first obtaining module 401 is configured to, when it is detected that an unread descriptor address exists in the third dedicated memory queue according to a read pointer in the third dedicated memory queue, obtain, according to the read pointer in the third dedicated memory queue, the descriptor address of the occupied descriptor;
the device further comprises:
and the first updating module is used for updating the read pointer in the third special memory queue.
Optionally, the apparatus further comprises:
and the second updating module is used for locking and updating the read pointer in the first shared memory queue and locking and updating the write pointer in the second shared memory queue.
Optionally, the preset data structure of the packet descriptor includes: the total number of the data packet descriptors in the second shared memory queue, the memory size of the first shared memory queue, the data packet entity start address and the data packet entity length corresponding to the data to be transmitted, the identity of the sending core, and the identity of the receiving core.
The device provided by this embodiment obtains a descriptor address of an occupied descriptor from a third dedicated memory queue corresponding to a receiving core, where the occupied descriptor is a descriptor written with data feature information corresponding to data to be transmitted, obtains the occupied descriptor from a second shared memory queue for storing data descriptors having a preset data structure according to the descriptor address of the occupied descriptor, and obtains the data to be transmitted from a first shared memory queue for storing a data packet entity according to the data feature information in the occupied descriptor, so that respective obtaining of data packet entities of indefinite length and data feature information of definite length is achieved, and flexibility in use of a memory region where the data packet is located is improved; in addition, the data packet descriptor and the descriptor address are respectively obtained, so that the multi-way communication among the cores can be completed by using fewer channels, and convenience is provided for the maintenance of the multi-way communication; in addition, all the cores share one first shared memory queue for storing the data packet entity and one second shared memory queue for storing the data packet descriptor, and memory overhead is saved; in addition, each kernel transmits the descriptor address through the corresponding special memory queue, mutual interference when receiving data among multiple cores is avoided, and safe transmission of the data is guaranteed.
It should be noted that, in the embodiment of the present invention, the related functional modules may be implemented by a hardware processor (hardware processor), and the same technical effect can be achieved, which is not described herein again.
In yet another embodiment of the present invention, an electronic device is provided, as shown in fig. 5, which includes a memory (memory)501, a processor (processor)502, and a computer program stored on the memory 501 and executable on the processor 502. The memory 501 and the processor 502 are in communication with each other through a bus 503. The processor 502 is configured to call program instructions in the memory 501 to perform the following method: writing data to be transmitted into a first shared memory queue for storing a data packet entity, and writing data characteristic information corresponding to the data to be transmitted into an idle descriptor in a second shared memory queue, wherein the second shared memory queue is used for storing a data packet descriptor with a preset data structure; obtaining a descriptor address of an occupied descriptor written with data characteristic information corresponding to the data to be transmitted; writing the descriptor address of the occupied descriptor into a third dedicated memory queue corresponding to a receiving core, so that the receiving core obtains the occupied descriptor according to the descriptor address of the occupied descriptor and obtains the data to be transmitted according to the occupied descriptor; the first shared memory queue, the second shared memory queue and the third dedicated memory queue are queues obtained by dividing in a pre-configured memory segment, and each receiving core corresponds to one third dedicated memory queue.
Alternatively, the processor 502 is configured to call program instructions in the memory 501 to perform the following method: obtaining a descriptor address of an occupied descriptor from a third special memory queue corresponding to a receiving core, wherein the occupied descriptor is a descriptor written with data characteristic information corresponding to data to be transmitted; obtaining the occupied descriptors from a second shared memory queue for storing data packet descriptors with a preset data structure according to the descriptor addresses of the occupied descriptors; obtaining the data to be transmitted from a first shared memory queue for storing a data packet entity according to the data characteristic information in the occupied descriptor; the first shared memory queue, the second shared memory queue and the third dedicated memory queue are queues obtained by dividing in a pre-configured memory segment, and each receiving core corresponds to one third dedicated memory queue.
The electronic device provided by the embodiment of the invention can execute specific steps in the inter-core communication method of the multi-core processor and can achieve the same technical effect, and the specific description is not provided herein.
Further, the program instructions in the memory 501 may be implemented in the form of software functional units and may be stored in a computer-readable storage medium when sold or used as a stand-alone product. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
In a further embodiment of the invention, a non-transitory computer readable storage medium is provided, having stored thereon a computer program which, when executed by a processor, is operative to perform the method of: writing data to be transmitted into a first shared memory queue for storing a data packet entity, and writing data characteristic information corresponding to the data to be transmitted into an idle descriptor in a second shared memory queue, wherein the second shared memory queue is used for storing a data packet descriptor with a preset data structure; obtaining a descriptor address of an occupied descriptor written with data characteristic information corresponding to the data to be transmitted; writing the descriptor address of the occupied descriptor into a third dedicated memory queue corresponding to a receiving core, so that the receiving core obtains the occupied descriptor according to the descriptor address of the occupied descriptor and obtains the data to be transmitted according to the occupied descriptor; the first shared memory queue, the second shared memory queue and the third dedicated memory queue are queues obtained by dividing in a pre-configured memory segment, and each receiving core corresponds to one third dedicated memory queue.
Alternatively, the computer program is executed by a processor to perform the method of: obtaining a descriptor address of an occupied descriptor from a third special memory queue corresponding to a receiving core, wherein the occupied descriptor is a descriptor written with data characteristic information corresponding to data to be transmitted; obtaining the occupied descriptors from a second shared memory queue for storing data packet descriptors with a preset data structure according to the descriptor addresses of the occupied descriptors; obtaining the data to be transmitted from a first shared memory queue for storing a data packet entity according to the data characteristic information in the occupied descriptor; the first shared memory queue, the second shared memory queue and the third dedicated memory queue are queues obtained by dividing in a pre-configured memory segment, and each receiving core corresponds to one third dedicated memory queue.
The non-transitory computer-readable storage medium provided in the embodiment of the present invention may execute specific steps in an inter-core communication method of a multi-core processor, and may achieve the same technical effect, which is not described in detail herein.
In yet another embodiment of the present invention, a computer program product is provided, the computer program product comprising a computer program stored on a non-transitory computer readable storage medium, the computer program comprising program instructions that when executed by a computer perform the method of: writing data to be transmitted into a first shared memory queue for storing a data packet entity, and writing data characteristic information corresponding to the data to be transmitted into an idle descriptor in a second shared memory queue, wherein the second shared memory queue is used for storing a data packet descriptor with a preset data structure; obtaining a descriptor address of an occupied descriptor written with data characteristic information corresponding to the data to be transmitted; writing the descriptor address of the occupied descriptor into a third dedicated memory queue corresponding to a receiving core, so that the receiving core obtains the occupied descriptor according to the descriptor address of the occupied descriptor and obtains the data to be transmitted according to the occupied descriptor; the first shared memory queue, the second shared memory queue and the third dedicated memory queue are queues obtained by dividing in a pre-configured memory segment, and each receiving core corresponds to one third dedicated memory queue.
Alternatively, the program instructions when executed by a computer perform the method of: obtaining a descriptor address of an occupied descriptor from a third special memory queue corresponding to a receiving core, wherein the occupied descriptor is a descriptor written with data characteristic information corresponding to data to be transmitted; obtaining the occupied descriptors from a second shared memory queue for storing data packet descriptors with a preset data structure according to the descriptor addresses of the occupied descriptors; obtaining the data to be transmitted from a first shared memory queue for storing a data packet entity according to the data characteristic information in the occupied descriptor; the first shared memory queue, the second shared memory queue and the third dedicated memory queue are queues obtained by dividing in a pre-configured memory segment, and each receiving core corresponds to one third dedicated memory queue.
The computer program product provided by the embodiment of the invention can execute the specific steps in the inter-core communication method of the multi-core processor and can achieve the same technical effect, and the specific description is not provided herein.
The above-described embodiments of the apparatus are merely illustrative, and the units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment. One of ordinary skill in the art can understand and implement it without inventive effort.
Through the above description of the embodiments, those skilled in the art will clearly understand that each embodiment can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware. With this understanding in mind, the above-described technical solutions may be embodied in the form of a software product, which can be stored in a computer-readable storage medium such as ROM/RAM, magnetic disk, optical disk, etc., and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the methods described in the embodiments or some parts of the embodiments.
Finally, it should be noted that: the above examples are only intended to illustrate the technical solution of the present invention, but not to limit it; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions of the embodiments of the present invention.
Claims (12)
1. An inter-core communication method of a multi-core processor, applied to a sending core, is characterized by comprising the following steps:
writing data to be transmitted into a first shared memory queue for storing a data packet entity, and writing data characteristic information corresponding to the data to be transmitted into an idle descriptor in a second shared memory queue, wherein the second shared memory queue is used for storing a data packet descriptor with a preset data structure;
obtaining a descriptor address of an occupied descriptor written with data characteristic information corresponding to the data to be transmitted;
writing the descriptor address of the occupied descriptor into a third dedicated memory queue corresponding to a receiving core, so that the receiving core obtains the occupied descriptor according to the descriptor address of the occupied descriptor and obtains the data to be transmitted according to the occupied descriptor; wherein the content of the first and second substances,
the first shared memory queue, the second shared memory queue and the third dedicated memory queue are queues obtained by dividing in a pre-configured memory segment, and each receiving core corresponds to one third dedicated memory queue.
2. The method of claim 1, wherein writing the data to be transmitted into a first shared memory queue for storing a data packet entity, and writing data characteristic information corresponding to the data to be transmitted into an idle descriptor in a second shared memory queue comprises:
when detecting that the first shared memory queue meets the data sending requirement and the second shared memory queue has an idle descriptor, locking a write pointer of the first shared memory queue and a read pointer of the second shared memory queue;
writing the data to be transmitted into a position pointed by a write pointer in the first shared memory queue, and writing data characteristic information corresponding to the data to be transmitted into an idle descriptor pointed by a read pointer in the second shared memory queue;
the writing the descriptor address of the occupied descriptor into a third dedicated memory queue corresponding to the receiving core includes:
and writing the descriptor address of the occupied descriptor into the position pointed by the write pointer in the third special memory queue corresponding to the receiving core according to the write pointer in the third special memory queue corresponding to the receiving core.
3. The method according to claim 2, wherein after writing the data to be transmitted into the first shared memory queue for storing the data packet entity and writing the data characteristic information corresponding to the data to be transmitted into the idle descriptor in the second shared memory queue, the method further comprises:
updating a write pointer in the first shared memory queue and a read pointer in the second shared memory queue;
after writing the descriptor address of the occupied descriptor into the third private memory queue corresponding to the receiving core, the method further includes:
and updating a write pointer in a third special memory queue corresponding to the receiving core.
4. The method of claim 1, wherein the predetermined data structure of the packet descriptor comprises: the total number of the data packet descriptors in the second shared memory queue, the memory size of the first shared memory queue, the data packet entity start address and the data packet entity length corresponding to the data to be transmitted, the identity of the sending core, and the identity of the receiving core.
5. An inter-core communication method of a multi-core processor, applied to a receiving core, is characterized by comprising the following steps:
obtaining a descriptor address of an occupied descriptor from a third special memory queue corresponding to a receiving core, wherein the occupied descriptor is a descriptor written with data characteristic information corresponding to data to be transmitted;
obtaining the occupied descriptors from a second shared memory queue for storing data packet descriptors with a preset data structure according to the descriptor addresses of the occupied descriptors;
obtaining the data to be transmitted from a first shared memory queue for storing a data packet entity according to the data characteristic information in the occupied descriptor; wherein the content of the first and second substances,
the first shared memory queue, the second shared memory queue and the third dedicated memory queue are queues obtained by dividing in a pre-configured memory segment, and each receiving core corresponds to one third dedicated memory queue.
6. The method of claim 5, wherein obtaining the descriptor address of the occupied descriptor from the third private-memory queue corresponding to the receiving core comprises:
when the fact that the descriptor address which is not read exists in the third special memory queue is detected according to the read pointer in the third special memory queue, the descriptor address of the occupied descriptor is obtained according to the read pointer in the third special memory queue;
after obtaining the descriptor address of the occupied descriptor from the third dedicated memory queue corresponding to the receiving core, the method further includes:
and updating the read pointer in the third dedicated memory queue.
7. The method of claim 5, wherein after obtaining the data to be transmitted from the first shared memory queue for storing the data packet entity according to the data characteristic information in the occupied descriptor, the method further comprises:
and locking and updating the read pointer in the first shared memory queue, and locking and updating the write pointer in the second shared memory queue.
8. The method of claim 5, wherein the predetermined data structure of the packet descriptor comprises: the total number of the data packet descriptors in the second shared memory queue, the memory size of the first shared memory queue, the data packet entity start address and the data packet entity length corresponding to the data to be transmitted, the identity of the sending core, and the identity of the receiving core.
9. An inter-core communication apparatus of a multi-core processor, applied to a sending core, the apparatus comprising:
the device comprises a first write-in module, a second write-in module and a first data processing module, wherein the first write-in module is used for writing data to be transmitted into a first shared memory queue for storing a data packet entity and writing data characteristic information corresponding to the data to be transmitted into an idle descriptor in a second shared memory queue, and the second shared memory queue is used for storing a data packet descriptor with a preset data structure;
the acquisition module is used for acquiring a descriptor address of an occupied descriptor written with data characteristic information corresponding to the data to be transmitted;
a second writing module, configured to write the descriptor address of the occupied descriptor into a third dedicated memory queue corresponding to a receiving core, so that the receiving core obtains the occupied descriptor according to the descriptor address of the occupied descriptor, and obtains the to-be-transmitted data according to the occupied descriptor; wherein the content of the first and second substances,
the first shared memory queue, the second shared memory queue and the third dedicated memory queue are queues obtained by dividing in a pre-configured memory segment, and each receiving core corresponds to one third dedicated memory queue.
10. An inter-core communication apparatus of a multi-core processor, applied to a receiving core, the apparatus comprising:
a first obtaining module, configured to obtain a descriptor address of an occupied descriptor from a third dedicated memory queue corresponding to a receiving core, where the occupied descriptor is a descriptor to which data feature information corresponding to data to be transmitted is written;
a second obtaining module, configured to obtain the occupied descriptor from a second shared memory queue for storing a packet descriptor having a preset data structure according to the descriptor address of the occupied descriptor;
a third obtaining module, configured to obtain the data to be transmitted from a first shared memory queue for storing a data packet entity according to the data feature information in the occupied descriptor; wherein the content of the first and second substances,
the first shared memory queue, the second shared memory queue and the third dedicated memory queue are queues obtained by dividing in a pre-configured memory segment, and each receiving core corresponds to one third dedicated memory queue.
11. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the processor implements the steps of the inter-core communication method of the multi-core processor according to any of claims 1 to 8 when executing the computer program.
12. A non-transitory computer readable storage medium, on which a computer program is stored, which, when being executed by a processor, implements the steps of the inter-core communication method of a multi-core processor according to any one of claims 1 to 8.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810845010.3A CN110764924A (en) | 2018-07-27 | 2018-07-27 | Inter-core communication method and device of multi-core processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810845010.3A CN110764924A (en) | 2018-07-27 | 2018-07-27 | Inter-core communication method and device of multi-core processor |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110764924A true CN110764924A (en) | 2020-02-07 |
Family
ID=69327066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810845010.3A Withdrawn CN110764924A (en) | 2018-07-27 | 2018-07-27 | Inter-core communication method and device of multi-core processor |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110764924A (en) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112328533A (en) * | 2020-11-09 | 2021-02-05 | 哲库科技(上海)有限公司 | Multi-core processing system, inter-core communication method thereof, and storage medium |
CN112732461A (en) * | 2021-01-06 | 2021-04-30 | 浙江智慧视频安防创新中心有限公司 | Inter-algorithm data transmission method and device in system |
CN112882655A (en) * | 2021-02-03 | 2021-06-01 | 广发证券股份有限公司 | Data caching method and device, electronic equipment and storage medium |
CN113703818A (en) * | 2021-08-18 | 2021-11-26 | 深圳数马电子技术有限公司 | Device upgrading method and device, computer device and computer-readable storage medium |
CN114077568A (en) * | 2020-08-18 | 2022-02-22 | Oppo广东移动通信有限公司 | Inter-core communication method and device, electronic assembly and electronic equipment |
CN114237945A (en) * | 2022-02-25 | 2022-03-25 | 四川鸿创电子科技有限公司 | Interconnection system message processing method, device and medium based on SRIO interface |
WO2022252590A1 (en) * | 2021-06-04 | 2022-12-08 | 展讯通信(上海)有限公司 | Data packet processing method and apparatus |
CN117834570A (en) * | 2024-03-04 | 2024-04-05 | 山东云海国创云计算装备产业创新中心有限公司 | Data packet processing method and device of transmission system, electronic equipment and storage medium |
WO2024077914A1 (en) * | 2022-10-11 | 2024-04-18 | 深圳市中兴微电子技术有限公司 | Inter-core communication system and method for multi-core processor, device, and storage medium |
CN117834570B (en) * | 2024-03-04 | 2024-06-07 | 山东云海国创云计算装备产业创新中心有限公司 | Data packet processing method and device of transmission system, electronic equipment and storage medium |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1904873A (en) * | 2005-07-28 | 2007-01-31 | 大唐移动通信设备有限公司 | Inter core communication method and apparatus for multi-core processor in embedded real-time operating system |
CN103166873A (en) * | 2011-12-12 | 2013-06-19 | 中兴通讯股份有限公司 | Inter-core communication method and core processor |
CN104126179A (en) * | 2012-02-17 | 2014-10-29 | 诺基亚公司 | Method, apparatus, and computer program product for inter-core communication in multi-core processors |
CN106095604A (en) * | 2016-06-21 | 2016-11-09 | 京信通信技术(广州)有限公司 | The communication method between cores of a kind of polycaryon processor and device |
CN106371937A (en) * | 2016-08-31 | 2017-02-01 | 迈普通信技术股份有限公司 | Inter-core communication method and device for multi-core system |
-
2018
- 2018-07-27 CN CN201810845010.3A patent/CN110764924A/en not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1904873A (en) * | 2005-07-28 | 2007-01-31 | 大唐移动通信设备有限公司 | Inter core communication method and apparatus for multi-core processor in embedded real-time operating system |
CN103166873A (en) * | 2011-12-12 | 2013-06-19 | 中兴通讯股份有限公司 | Inter-core communication method and core processor |
CN104126179A (en) * | 2012-02-17 | 2014-10-29 | 诺基亚公司 | Method, apparatus, and computer program product for inter-core communication in multi-core processors |
CN106095604A (en) * | 2016-06-21 | 2016-11-09 | 京信通信技术(广州)有限公司 | The communication method between cores of a kind of polycaryon processor and device |
CN106371937A (en) * | 2016-08-31 | 2017-02-01 | 迈普通信技术股份有限公司 | Inter-core communication method and device for multi-core system |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114077568A (en) * | 2020-08-18 | 2022-02-22 | Oppo广东移动通信有限公司 | Inter-core communication method and device, electronic assembly and electronic equipment |
CN112328533A (en) * | 2020-11-09 | 2021-02-05 | 哲库科技(上海)有限公司 | Multi-core processing system, inter-core communication method thereof, and storage medium |
CN112732461A (en) * | 2021-01-06 | 2021-04-30 | 浙江智慧视频安防创新中心有限公司 | Inter-algorithm data transmission method and device in system |
CN112882655A (en) * | 2021-02-03 | 2021-06-01 | 广发证券股份有限公司 | Data caching method and device, electronic equipment and storage medium |
WO2022252590A1 (en) * | 2021-06-04 | 2022-12-08 | 展讯通信(上海)有限公司 | Data packet processing method and apparatus |
CN113703818A (en) * | 2021-08-18 | 2021-11-26 | 深圳数马电子技术有限公司 | Device upgrading method and device, computer device and computer-readable storage medium |
CN113703818B (en) * | 2021-08-18 | 2024-05-17 | 深圳数马电子技术有限公司 | Device upgrade method and apparatus, computer device, and computer-readable storage medium |
CN114237945A (en) * | 2022-02-25 | 2022-03-25 | 四川鸿创电子科技有限公司 | Interconnection system message processing method, device and medium based on SRIO interface |
CN114237945B (en) * | 2022-02-25 | 2022-05-13 | 四川鸿创电子科技有限公司 | Interconnection system message processing method, device and medium based on SRIO interface |
WO2024077914A1 (en) * | 2022-10-11 | 2024-04-18 | 深圳市中兴微电子技术有限公司 | Inter-core communication system and method for multi-core processor, device, and storage medium |
CN117834570A (en) * | 2024-03-04 | 2024-04-05 | 山东云海国创云计算装备产业创新中心有限公司 | Data packet processing method and device of transmission system, electronic equipment and storage medium |
CN117834570B (en) * | 2024-03-04 | 2024-06-07 | 山东云海国创云计算装备产业创新中心有限公司 | Data packet processing method and device of transmission system, electronic equipment and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110764924A (en) | Inter-core communication method and device of multi-core processor | |
CN102006241B (en) | Method for receiving message through buffer area shared by multiple applications | |
CN113485822A (en) | Memory management method, system, client, server and storage medium | |
US20220066699A1 (en) | Data read/write method and apparatus, and exchange chip and storage medium | |
EP3979088A1 (en) | Inter-core data processing method and system, system on chip and electronic device | |
CN105740405B (en) | Method and device for storing data | |
CN114281484B (en) | Data transmission method, device, equipment and storage medium | |
CN114945009B (en) | Method, device and system for communication between devices connected by PCIe bus | |
CN112698959A (en) | Multi-core communication method and device | |
CN110457251B (en) | Data communication method and device among multiple processors | |
CN108304272B (en) | Data IO request processing method and device | |
CN112256460A (en) | Inter-process communication method and device, electronic equipment and computer readable storage medium | |
CN115827506A (en) | Data writing method, data reading method, device, processing core and processor | |
CN114490439A (en) | Data writing, reading and communication method based on lockless ring-shaped shared memory | |
CN113518431B (en) | Communication processing method, terminal, device and storage medium | |
CN111026532B (en) | Message queue management method for voice data | |
CN107124353B (en) | Message processing method and device, computer device and storage medium | |
CN113507394B (en) | Network performance detection method and device, electronic equipment and storage medium | |
WO2018106392A1 (en) | Technologies for multi-core wireless network data transmission | |
CN107689996B (en) | Data transmission method and device and terminal equipment | |
CN110659143B (en) | Communication method and device between containers and electronic equipment | |
US11188394B2 (en) | Technologies for synchronizing triggered operations | |
CN110347517B (en) | Dual-system communication method and computer-readable storage medium | |
CN113157465A (en) | Message sending method and device based on pointer linked list | |
CN116601616A (en) | Data processing device, method and related equipment |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200207 |