US11921563B1 - Operating device of cross-power domain multiprocessor and communication method thereof - Google Patents
Operating device of cross-power domain multiprocessor and communication method thereof Download PDFInfo
- Publication number
- US11921563B1 US11921563B1 US18/237,623 US202318237623A US11921563B1 US 11921563 B1 US11921563 B1 US 11921563B1 US 202318237623 A US202318237623 A US 202318237623A US 11921563 B1 US11921563 B1 US 11921563B1
- Authority
- US
- United States
- Prior art keywords
- processor
- channel
- idle
- memory
- read
- 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
Links
- 238000004891 communication Methods 0.000 title claims abstract description 51
- 238000000034 method Methods 0.000 title claims abstract description 21
- 230000015654 memory Effects 0.000 claims abstract description 91
- 238000001514 detection method Methods 0.000 claims abstract description 5
- 238000012544 monitoring process Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 3
- 230000002618 waking effect Effects 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4405—Initialisation of multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- 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/544—Buffers; Shared memory; Pipes
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Definitions
- the invention belongs to the technical field of integrated circuits, and particularly relates to an operating device of a cross-power domain multiprocessor and a communication method thereof.
- a multiprocessor processing method is disclosed in CN106371937A and has the following shortcomings:
- the invention discloses an operating device of a cross-power domain multiprocessor and a communication method thereof.
- the operating device of the cross-power domain multiprocessor includes at least two processors, where each processor is connected with a processor channel connected with a memory, and the processor channel includes a read channel and a write channel; the operating device further includes the memory and an interface parsing unit for controlling the processor channels; the memory includes a shared memory unit and a dedicated memory of each processor; the operating device further includes a memory allocation unit for allocating the shared memory and a detection wake-up unit for detecting a processor state and receiving a data transmission command.
- the memory allocation unit is in signal connection with the detection wake-up unit.
- the read channel and the write channel each include two channels.
- the invention further discloses a communication method of a cross-power domain multiprocessor, including the following steps:
- Step S 2 if both the source processor and the target processor are in a dormant mode, the detection wake-up unit wakes them up; if one of the source processor and the target processor is in a working mode, the processor in a working mode wakes up the processor in a dormant mode.
- Step S 4 the source processor preferentially stores the data information to be interacted in the shared memory, and if the shared memory is fully occupied, the data information is stored in the dedicated memory of the target processor.
- Steps S 5 and S 7 during idle channel waiting, a communication request is handed over to an interface parsing unit for queuing; and the interface parsing unit determines the priority of the communication request and preferentially allocates a request with high priority when the channel is idle.
- each processor includes a plurality of channel channels, and identifies the priority of the information not processed.
- the processor with a receiving end in a dormant mode is waken up, information can be saved in the shared memory and then processed according to the information priority after the processor is completely waken up.
- the shared memory performs dynamic allocation according to the quantity of the wake-up processors, which improves the communication efficiency between the memory and the processors.
- FIG. 1 shows a schematic diagram of an operating device of a cross-power domain multiprocessor according to a specific embodiment of the invention.
- FIG. 2 shows a schematic diagram of a communication method of an operating device of a cross-power domain multiprocessor according to a specific embodiment of the invention.
- the operating device of the cross-power domain multiprocessor is composed of a plurality of processors required for communication, an interface parsing unit for parsing each processor interface, a plurality of processor channels, a memory allocation unit, a shared memory, and a dedicated memory for each processor.
- the interface parsing unit is used for parsing the interfaces of the processors, and each processor is connected to the shared memory through the parsing interface for data interaction.
- the interface parsing unit has the main functions below:
- the interface parsing unit is connected with all processors to detect whether the power domain where each processor is located is in the working mode. If the power domain is working normally, the processor is in the wake-up state, otherwise, it is considered that the processor is in the dormant mode, and a memory allocation unit is notified of allocating the shared memory according to the wake-up state of the processor.
- the occupancy release of each processor channel is processed by the interface parsing unit, and a target processor is notified of reading and writing data information;
- the target processor When the target processor is in the dormant mode, data information to be processed is given a priority.
- the target processor waken up processes data in an order from high priority to low priority.
- a processor channel for reading and writing data information is allocated for each processor.
- the processor channel provides a channel for each processor to read data, and each processor channel has four sub-channels: a first channel, a second channel, a third channel, and a fourth channel.
- the processor is regarded as a source processor, the first channel or the second channel initiates a communication request to the target processor, and waits its response to such request.
- the processor is regarded as the target processor, the third channel or the fourth channel receives a communication request initiated by the source processor and monitors other communication requests sent to the processor.
- the memory allocation unit is used for dynamically allocating the shared memory to the processor in a working mode. If only two processors are in a working mode, the shared memory is divided into two parts for use by them, so as to fully improve the utilization efficiency of the memory.
- the memory allocation unit does not allocate the shared memory to the dormant processor, and sends a control signal to make the dormant processor store data in the dedicated memory of the processor before waken up.
- both the shared memory and the dedicated memory can be used, and the shared memory is preferred for storage.
- a specific data interaction process between the source processor and any one of the target processors can be divided into the following three situations:
- each processor has four communication channels, where the first and second channels are receiving channels for receiving information; and the third channel and the fourth channel are sending channels for sending information.
- the channels are centrally managed by the interface parsing unit.
- the target processor is a communication receiver and both the source processor and the target processor are in a dormant mode:
- a communication method specifically includes the following steps:
- the source processor stores data information to be interacted into the dedicated memory of the target processor or the shared memory allocated for the target processor through the third channel or the fourth channel;
- the target processor When the target processor is a communication receiver, the source processor is in a working mode, and the target processor is in a dormant mode:
- the target processor is a communication receiver
- the source processor is in a working mode
- the target processor is in a dormant mode
- each processor includes a plurality of channel channels, and identifies the priority of the information not processed.
- the processor with a receiving end in a dormant mode is waken up, information can be saved in the shared memory and then processed according to the information priority until the processor is in a working mode.
- the shared memory performs dynamic allocation according to the quantity of the processors in a working mode, which improves the communication efficiency between the memory and the processors.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Multi Processors (AREA)
Abstract
An operating device of a cross-power domain multiprocessor and a communication method thereof. The device includes: at least two processors, wherein each is connected with a processor channel connected with a memory, and the processor channel includes read and write channels; the memory and an interface parsing unit for controlling the processor channels; the memory includes a shared memory unit and a dedicated memory of each processor; a memory allocation unit for allocating the shared memory and a detection wake-up unit for detecting a processor state and receiving a data transmission command. When the processor with a receiving end in a dormant mode is awoken, information can be saved in the shared memory and processed according to the information priority after the processor is completely awake. The shared memory performs dynamic allocation according to the quantity of the wake-up processors, which improves the communication efficiency between the memory and processors.
Description
The invention belongs to the technical field of integrated circuits, and particularly relates to an operating device of a cross-power domain multiprocessor and a communication method thereof.
At present, as digital technologies are applied to various fields such as image processing, speech recognition, industrial automation, auto-driving, and smart home, performance requirements of various services are constantly increasing and a single-core processor cannot meet the demands due to too many processes to be handled. Therefore, at present, a multi-core processor is often used to handle relatively complex tasks. The accompanying problem is that if the multi-core processor cannot effectively synchronize information between a plurality of processors, it cannot fully exert its advantages and achieve desired effect.
In addition, with the continuous development of chip technology, power consumption is also increasing and has become a focus of attention to people. Designing a plurality of power domains is one of the effective ways to solve the problem of power consumption increase. A multiprocessor processing method is disclosed in CN106371937A and has the following shortcomings:
-
- 1. In the patent of CN106371937A, a queue is used to transmit information. At the time of information access, one processor is used to process information according to their sequence. Different information has priority for the demand end. Failure to preferentially process information with high priority is not conducive to improving the efficiency between the processors.
- 2. A shared memory is used between a plurality of processors. When a plurality of power domains is designed, power domains are turned off for some processors due to power consumption requirements. The turned-off processors still occupying memory in communication is not conducive to improving the efficiency of memory use.
- 3. In the existing scheme, when a processor sends information to other processors, the other processors are definitely in working mode. However, in a multi-power domain circuit, it is very likely that a communication processor is in a dormant mode. The conventional measure is to wake up a target processor at a receiving end through interruption, and then send information to the target processor at the receiving end. It takes a certain time to wake up, and a source processor at a sending end sends information until the target processor at the receiving end is in a working mode, and should be effectively utilized in the wake-up period.
- 4. A plurality of processors communicate with each other. In the prior art, a single processor can access information only through one data channel, so it is necessary to wait when one processor simultaneously communicates with a plurality of processors, and communication requirements cannot be met when three or more processors communicate with each other at the same time.
In order to overcome the defects in the prior art, the invention discloses an operating device of a cross-power domain multiprocessor and a communication method thereof.
The operating device of the cross-power domain multiprocessor according to the invention includes at least two processors, where each processor is connected with a processor channel connected with a memory, and the processor channel includes a read channel and a write channel; the operating device further includes the memory and an interface parsing unit for controlling the processor channels; the memory includes a shared memory unit and a dedicated memory of each processor; the operating device further includes a memory allocation unit for allocating the shared memory and a detection wake-up unit for detecting a processor state and receiving a data transmission command.
Preferably, the memory allocation unit is in signal connection with the detection wake-up unit.
Preferably, the read channel and the write channel each include two channels.
The invention further discloses a communication method of a cross-power domain multiprocessor, including the following steps:
-
- S1. Receiving a command, confirming a source processor and a target processor required for communication, and detecting whether the source processor and the target processor are in a working mode;
- S2. Waking up a processor in a dormant mode;
- S3. Preparing data information to be interacted by the source processor;
- S4. Allocating, by a memory allocation unit, a shared memory into a shared memory unit for the source processor and the target processor which are waken up; and storing, by the source processor, the data information to be interacted into the dedicated memory or shared memory of the target processor;
- S5. With a read channel being idle, increasing the read idle occupied bit of the read channel in the processor channel of the target processor; occupying the read channel to read data prepared by the source processor from a memory by the target processor; with the read channel not being idle, waiting the read channel until to be idle;
- S6. Reading, by the target processor when monitoring the increase of the occupied bit of the read channel for receiving data, data information stored into the dedicated memory or shared memory by the source processor from the read channel;
- S7. After data reading, lowering the read idle occupied bit of the read channel;
- With a write channel being idle, increasing the write idle occupied bit of the write channel in the processor channel of the target processor; writing returned information after processing into the shared memory allocated by the source processor by the write channel; with the write channel not being idle, waiting the write channel until to be idle;
- S8. Reading, by the source processor when monitoring the increase of the write idle occupied bit of the write channel in the processor channel of the target processor, returned information from the shared memory thereof, and lowering the write idle occupied bit;
- S9. Waiting for a next assignment.
Preferably, in Step S2, if both the source processor and the target processor are in a dormant mode, the detection wake-up unit wakes them up; if one of the source processor and the target processor is in a working mode, the processor in a working mode wakes up the processor in a dormant mode.
Preferably, in Step S4, the source processor preferentially stores the data information to be interacted in the shared memory, and if the shared memory is fully occupied, the data information is stored in the dedicated memory of the target processor.
Preferably, in Steps S5 and S7, during idle channel waiting, a communication request is handed over to an interface parsing unit for queuing; and the interface parsing unit determines the priority of the communication request and preferentially allocates a request with high priority when the channel is idle.
In the operating device of the cross-power domain multiprocessor of the invention, each processor includes a plurality of channel channels, and identifies the priority of the information not processed. When the processor with a receiving end in a dormant mode is waken up, information can be saved in the shared memory and then processed according to the information priority after the processor is completely waken up. The shared memory performs dynamic allocation according to the quantity of the wake-up processors, which improves the communication efficiency between the memory and the processors.
The specific embodiments of the invention will be further described in detail below.
As shown in FIG. 1 , the operating device of the cross-power domain multiprocessor according to a specific embodiment of the invention is composed of a plurality of processors required for communication, an interface parsing unit for parsing each processor interface, a plurality of processor channels, a memory allocation unit, a shared memory, and a dedicated memory for each processor.
The interface parsing unit is used for parsing the interfaces of the processors, and each processor is connected to the shared memory through the parsing interface for data interaction.
The interface parsing unit has the main functions below:
The interface parsing unit is connected with all processors to detect whether the power domain where each processor is located is in the working mode. If the power domain is working normally, the processor is in the wake-up state, otherwise, it is considered that the processor is in the dormant mode, and a memory allocation unit is notified of allocating the shared memory according to the wake-up state of the processor.
The occupancy release of each processor channel is processed by the interface parsing unit, and a target processor is notified of reading and writing data information;
When the target processor is in the dormant mode, data information to be processed is given a priority. The target processor waken up processes data in an order from high priority to low priority.
A processor channel for reading and writing data information is allocated for each processor.
The processor channel provides a channel for each processor to read data, and each processor channel has four sub-channels: a first channel, a second channel, a third channel, and a fourth channel. When the first channel and the second channel are used as sending channels, the processor is regarded as a source processor, the first channel or the second channel initiates a communication request to the target processor, and waits its response to such request. When the third channel and the fourth channel are used as receiving channels, the processor is regarded as the target processor, the third channel or the fourth channel receives a communication request initiated by the source processor and monitors other communication requests sent to the processor.
The memory allocation unit is used for dynamically allocating the shared memory to the processor in a working mode. If only two processors are in a working mode, the shared memory is divided into two parts for use by them, so as to fully improve the utilization efficiency of the memory.
The memory allocation unit does not allocate the shared memory to the dormant processor, and sends a control signal to make the dormant processor store data in the dedicated memory of the processor before waken up.
When the processor is in a working mode, both the shared memory and the dedicated memory can be used, and the shared memory is preferred for storage.
A specific data interaction process between the source processor and any one of the target processors can be divided into the following three situations:
-
- 1. Both the source processor and the target processor are in a dormant mode;
- 2. The source processor is in a working mode, and the target processor is in a dormant mode;
- 3. Both the source processor and the target processor are in a working mode;
In various embodiments, each processor has four communication channels, where the first and second channels are receiving channels for receiving information; and the third channel and the fourth channel are sending channels for sending information. The channels are centrally managed by the interface parsing unit.
When the target processor is a communication receiver and both the source processor and the target processor are in a dormant mode:
As shown in FIG. 2 , a communication method specifically includes the following steps:
-
- Step S1. Wake up the source processor and the target processor;
- Wake-up operation can be performed by a wake-up source of a system, which is generally manifested by mechanisms such as external interruption and external events. Alternatively, such wake-up operation is performed by an internal timer, a voltage management unit, and the like.
- Step S2. The source processor prepares data information to be interacted;
- Step S3. The source processor detects the state of the target processor and waits for the wake-up of the target processor; upon the wake-up of the target processor, the third channel of the source processor or the fourth channel thereof can be used; if the target processor is not waken up, the source processor waits for its wake-up;
- Step S4. The memory allocation unit allocates the memories of respective processors in the shared memory unit for the target processor and the source processor both which are waken up;
The source processor stores data information to be interacted into the dedicated memory of the target processor or the shared memory allocated for the target processor through the third channel or the fourth channel;
-
- Step S5. Increase the read idle occupied bit of the third channel of the source processor or the fourth channel thereof. The increase of the read idle occupied bit means the occupancy of the channel, and other processors or processes cannot perform communication using the channel; the third channel of the source processor or the fourth channel thereof is occupied to read data returned from the target processor from the memory by the source processor, and to increase the read idle occupied bit of the first channel of the target processor or the second channel thereof,
- Step S6. When monitoring the increase of the read idle occupied bit of the first channel or the second channel for receiving data, the target processor reads communication contents stored into the shared memory or the dedicated memory by the source processor from the first channel or the second channel whose occupied bit is increased.
- Step S7. After data reading, lower the read idle occupied bit of the occupied channel of the target processor. This means completion of data reading. Increase the write idle occupied bit of the occupied channel of the target processor, write information processed by the target processor into the shared memory allocated to the source processor through the first channel or the second channel occupied of the target processor, and increase the write occupied bit of the communication channel of the source processor. This means that information returned by the target processor has been prepared;
- Step S8. The source processor monitors the increase of the write idle occupied bit of the third channel or the fourth channel as the communication channel, indicating that the target processor processes and returns received and sent information and communication completion. The source processor reads returned information to complete communication assignments, lowers the write idle occupied bit of the communication channel (namely the third channel or the fourth channel) of the source processor, and releases the occupied communication channel;
- S9. Wait for a next assignment.
When the target processor is a communication receiver, the source processor is in a working mode, and the target processor is in a dormant mode:
-
- Step S1. The source processor prepares data information to be interacted and stores such data information in the dedicated memory of the target processor;
- Step S2. The source processor wakes up the target processor;
- Step S3. The memory allocation unit allocates the memories of respective processors in the shared memory for the target processor and the source processor both which are waken up;
- Step S4. The source processor detects whether the first channel of the target processor or the second channel thereof is fully occupied; if there is no idle channel, the source processor waits for the idle channel of the target processor before communication;
- Step S5. With the first channel of the target processor or the second channel thereof being idle, increase the read idle occupied bit of the third channel of the source processor or the fourth channel thereof, occupy the third channel of the source processor or the fourth channel thereof to read data prepared by the target processor from the memory by the source processor, and increase the read idle occupied bit of the first channel of the target processor or the second channel thereof for receiving data;
- Step S6. When monitoring the increase of the read idle occupied bit of the first channel or the second channel for receiving data, the target processor reads the contents of the source processor stored into its dedicated memory from the occupied channel;
- Step S7. After data reading by the target processor, lower the read idle occupied bit of its occupied channel. This means completion of data reading. Increase the write idle occupied bit of the occupied communication channel of the source processor, and write information processed by the target processor into the shared memory of the source processor;
- Step S8. The source processor monitors the increase of the write idle occupied bit of the communication channel, indicating that the target processor processes and returns received and sent information and communication completion. The source processor reads returned information to complete communication assignments, lowers the occupied bits of the write and read channels of the communication channel, and releases the channel;
- Step S9. Wait for a next assignment.
When the target processor is a communication receiver, the source processor is in a working mode, and the target processor is in a dormant mode,
-
- Step s2_1. The source processor prepares data information to be interacted and stores such data information in the dedicated memory or shared memory of the target processor;
- Step s2_2. The source processor detects whether the first channel of the target processor or the second channel thereof is fully occupied. If there is no idle channel, the source processor waits for it for communication, and hands over a communication request to an interface parsing unit for queuing; and the interface parsing unit determines the priority of the communication request and preferentially allocates a request with high priority when the channel is idle;
- Step s2_3. With a channel (for example, first channel allocated to the target processor) being allocated to the target processor, increase the first channel of the target processor and the read occupied bit of the third channel of the source processor, and occupy the third channel to read data returned by the target processor from the memory by the source processor;
- Step s2_4. When monitoring the increase of the occupied bit of the channel for receiving other processor data, the target processor reads the contents of the source processor stored into its shared memory or dedicated memory from the occupied channel.
- Step s2_5. After data reading by the target processor, lower the read idle occupied bit of its occupied channel. This means completion of data reading. Increase the write idle occupied bit of the third channel of the source processor, and write information processed into the shared memory of the source processor;
- Step s2_6. The source processor monitors the increase of the write idle occupied bit of the communication channel, indicating that the target processor processes and returns received and sent information and communication completion. The source processor reads returned information to complete communication assignments, lowers the occupied bits of the write and read channels of the third channel, and releases the channel;
- Step 2_7. Wait for a next assignment.
In the operating device of the cross-power domain multiprocessor of the invention, each processor includes a plurality of channel channels, and identifies the priority of the information not processed. When the processor with a receiving end in a dormant mode is waken up, information can be saved in the shared memory and then processed according to the information priority until the processor is in a working mode. The shared memory performs dynamic allocation according to the quantity of the processors in a working mode, which improves the communication efficiency between the memory and the processors.
The preferred embodiments of the invention are as previously mentioned. If the preferred implementations in the preferred embodiments are not obviously self-contradictory or based on a specific preferred implementation, they can be combined and used at will. The embodiments and the specific parameters therein are only for clearly stating the verification process of the inventor's invention, instead of limiting the patent protection scope of the invention. The patent protection scope of the invention is still subject to claims, and all equivalent structural changes made based on the specification and drawings of the invention should fall within the protection scope.
Claims (4)
1. A communication method of a cross-power domain multiprocessor, comprising the following steps:
S1. receiving a command, confirming a source processor and a target processor required for communication, and detecting whether the source processor and the target processor are in a working mode;
S2. waking up a processor in a dormant mode;
S3. preparing data information to be interacted by the source processor;
S4. allocating, by a memory allocation unit, a shared memory into a shared memory unit for the source processor and the target processor which are waken up; and storing, by the source processor, the data information to be interacted into a dedicated memory or shared memory of the target processor;
S5. with a read channel being idle, increasing a read idle occupied bit of the read channel in a processor channel of the target processor; occupying the read channel to read data prepared by the source processor from a memory by the target processor; with the read channel not being idle, waiting the read channel until to be idle;
S6. reading, by the target processor when monitoring the increase of the read idle occupied bit of the read channel for receiving data, data information stored into the dedicated memory or shared memory by the source processor from the read channel;
S7. after data reading, lowering the read idle occupied bit of the read channel;
with a write channel being idle, increasing a write idle occupied bit of the write channel in the processor channel of the target processor; writing returned information after processing into the shared memory allocated by the source processor by the write channel; with the write channel not being idle, waiting the write channel until to be idle;
S8. reading, by the source processor when monitoring the increase of the write idle occupied bit of the write channel in the processor channel of the target processor, returned information from the shared memory thereof, and lowering the write idle occupied bit; and
S9. waiting for a next assignment.
2. The communication method of the cross-power domain multiprocessor according to claim 1 , wherein in Step S2, if both the source processor and the target processor are in a dormant mode, a detection wake-up unit wakes them up; if one of the source processor and the target processor is in a working mode, a processor in a working mode wakes up a processor in a dormant mode.
3. The communication method of the cross-power domain multiprocessor according to claim 1 , wherein in Step S4, the source processor stores the data information to be interacted in the shared memory, and if the shared memory is fully occupied, the data information is stored in the dedicated memory of the target processor.
4. The communication method of the cross-power domain multiprocessor according to claim 1 , wherein in Steps S5 and S7, during idle channel waiting, a communication request is handed over to an interface parsing unit for queuing; and the interface parsing unit determines a priority of the communication request and allocates a request with high priority when the read channel is idle.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211593045.5 | 2022-12-13 | ||
CN202211593045.5A CN115599459B (en) | 2022-12-13 | 2022-12-13 | Cross-power-domain multiprocessor operation device and communication method thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
US11921563B1 true US11921563B1 (en) | 2024-03-05 |
Family
ID=84854031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/237,623 Active US11921563B1 (en) | 2022-12-13 | 2023-08-24 | Operating device of cross-power domain multiprocessor and communication method thereof |
Country Status (2)
Country | Link |
---|---|
US (1) | US11921563B1 (en) |
CN (1) | CN115599459B (en) |
Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4622631A (en) * | 1983-12-30 | 1986-11-11 | Plexus Computers, Inc. | Data processing system having a data coherence solution |
EP0251686A2 (en) | 1986-06-30 | 1988-01-07 | Encore Computer Corporation | Method and apparatus for sharing information between a plurality of processing units |
JPH0355657A (en) | 1989-07-25 | 1991-03-11 | Nec Corp | Shared memory access method for multi-task/multi-processor system |
US5666485A (en) * | 1995-06-07 | 1997-09-09 | Samsung Electronics Inc. | Software driver for a system bus |
CN101142543A (en) | 2005-02-14 | 2008-03-12 | 高通股份有限公司 | Distributed supply current switch circuits for enabling individual power domains |
US20080256305A1 (en) * | 2007-04-11 | 2008-10-16 | Samsung Electronics Co., Ltd. | Multipath accessible semiconductor memory device |
US7596666B2 (en) * | 2005-12-22 | 2009-09-29 | Samsung Electronics Co., Ltd. | Multi-path accessible semiconductor memory device having port state signaling function |
CN101667144A (en) | 2009-09-29 | 2010-03-10 | 北京航空航天大学 | Virtual machine communication method based on shared memory |
CN101882127A (en) | 2010-06-02 | 2010-11-10 | 湖南大学 | Multi-core processor |
US20110145514A1 (en) * | 2009-12-16 | 2011-06-16 | Samsung Electronics Co. Ltd. | Method and apparatus for inter-processor communication in mobile terminal |
CN102446159A (en) | 2010-10-12 | 2012-05-09 | 无锡江南计算技术研究所 | Method and device for managing data of multi-core processor |
CN103324599A (en) | 2013-06-04 | 2013-09-25 | 北京创毅讯联科技股份有限公司 | Inter-processor communication method and system on chip |
US20160011987A1 (en) * | 2014-07-08 | 2016-01-14 | Netronome Systems, Inc. | Efficient search key controller with standard bus interface, external memory interface, and interlaken lookaside interface |
CN106371937A (en) | 2016-08-31 | 2017-02-01 | 迈普通信技术股份有限公司 | Inter-core communication method and device for multi-core system |
CN109933438A (en) | 2019-01-31 | 2019-06-25 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | High speed shared drive data receiving-transmitting system |
CN110888831A (en) | 2019-12-10 | 2020-03-17 | 北京智联安科技有限公司 | Multi-power-domain asynchronous communication device |
CN112100093A (en) | 2020-08-18 | 2020-12-18 | 海光信息技术有限公司 | Method for keeping consistency of shared memory data of multiple processors and multiple processor system |
CN113093899A (en) | 2021-04-09 | 2021-07-09 | 思澈科技(上海)有限公司 | Cross-power domain data transmission method |
US20220164162A1 (en) * | 2019-08-09 | 2022-05-26 | Sonos, Inc. | Power management and distributed audio processing techniques for playback devices |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111124975A (en) * | 2019-12-27 | 2020-05-08 | 江苏芯盛智能科技有限公司 | PCIe device dynamic power consumption saving method and low-power consumption PCIe device |
CN214254414U (en) * | 2021-03-01 | 2021-09-21 | 成都海光集成电路设计有限公司 | Processor chip |
-
2022
- 2022-12-13 CN CN202211593045.5A patent/CN115599459B/en active Active
-
2023
- 2023-08-24 US US18/237,623 patent/US11921563B1/en active Active
Patent Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4622631A (en) * | 1983-12-30 | 1986-11-11 | Plexus Computers, Inc. | Data processing system having a data coherence solution |
US4622631B1 (en) * | 1983-12-30 | 1996-04-09 | Recognition Int Inc | Data processing system having a data coherence solution |
EP0251686A2 (en) | 1986-06-30 | 1988-01-07 | Encore Computer Corporation | Method and apparatus for sharing information between a plurality of processing units |
JPH0355657A (en) | 1989-07-25 | 1991-03-11 | Nec Corp | Shared memory access method for multi-task/multi-processor system |
US5666485A (en) * | 1995-06-07 | 1997-09-09 | Samsung Electronics Inc. | Software driver for a system bus |
CN101142543A (en) | 2005-02-14 | 2008-03-12 | 高通股份有限公司 | Distributed supply current switch circuits for enabling individual power domains |
US7596666B2 (en) * | 2005-12-22 | 2009-09-29 | Samsung Electronics Co., Ltd. | Multi-path accessible semiconductor memory device having port state signaling function |
US20080256305A1 (en) * | 2007-04-11 | 2008-10-16 | Samsung Electronics Co., Ltd. | Multipath accessible semiconductor memory device |
CN101667144A (en) | 2009-09-29 | 2010-03-10 | 北京航空航天大学 | Virtual machine communication method based on shared memory |
US20110145514A1 (en) * | 2009-12-16 | 2011-06-16 | Samsung Electronics Co. Ltd. | Method and apparatus for inter-processor communication in mobile terminal |
CN101882127A (en) | 2010-06-02 | 2010-11-10 | 湖南大学 | Multi-core processor |
CN102446159A (en) | 2010-10-12 | 2012-05-09 | 无锡江南计算技术研究所 | Method and device for managing data of multi-core processor |
CN103324599A (en) | 2013-06-04 | 2013-09-25 | 北京创毅讯联科技股份有限公司 | Inter-processor communication method and system on chip |
US20160011987A1 (en) * | 2014-07-08 | 2016-01-14 | Netronome Systems, Inc. | Efficient search key controller with standard bus interface, external memory interface, and interlaken lookaside interface |
CN106371937A (en) | 2016-08-31 | 2017-02-01 | 迈普通信技术股份有限公司 | Inter-core communication method and device for multi-core system |
CN109933438A (en) | 2019-01-31 | 2019-06-25 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | High speed shared drive data receiving-transmitting system |
US20220164162A1 (en) * | 2019-08-09 | 2022-05-26 | Sonos, Inc. | Power management and distributed audio processing techniques for playback devices |
CN110888831A (en) | 2019-12-10 | 2020-03-17 | 北京智联安科技有限公司 | Multi-power-domain asynchronous communication device |
CN112100093A (en) | 2020-08-18 | 2020-12-18 | 海光信息技术有限公司 | Method for keeping consistency of shared memory data of multiple processors and multiple processor system |
CN113093899A (en) | 2021-04-09 | 2021-07-09 | 思澈科技(上海)有限公司 | Cross-power domain data transmission method |
Non-Patent Citations (5)
Title |
---|
Nowatzyk et al., "The S3.mp Scalable Shared Memory Multiprocessor", Sum Microsystems Computer Corporation, Proceedings of the 27th Annual Hawaii International Conference on System Sciences, 1994, pp. 144-153. |
Translation Feb. 21, 2023 Office Action issued in Chinese Application No. 202211593045.5. |
Translation of Dec. 13, 2022 Search Report issued in Chinese Application No. 2022115930455. |
Translation of Mar. 13, 2023 Notification to Grant Patent Rights in Chinese Application No. 202211593045.5. |
Xu, "A shared Memory Mechanism Based on Bus Multi-processor", Mini-Micro Systems, Department of Computer Sciences and Technology Tsinghua University, Beijing, China, vol. 24, No. 3 (Mar. 2003) pp. 321-326, www.cnki.net. |
Also Published As
Publication number | Publication date |
---|---|
CN115599459A (en) | 2023-01-13 |
CN115599459B (en) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1717645B (en) | Apparatus and method for multi-threaded processors performance control | |
US8763002B2 (en) | Method, system, and apparatus for task allocation of multi-core processor | |
CN1331065C (en) | Method and apparatus for power mode transition in a multi-theread processor | |
EP1127308B1 (en) | Method and apparatus for power management in a memory subsystem | |
WO2019075980A1 (en) | Thread adjustment method and terminal thereof | |
CN107003948B (en) | Electronic device and method for controlling sharable cache memory thereof | |
US10628308B2 (en) | Dynamic adjustment of memory channel interleave granularity | |
CN101958808A (en) | Cluster task dispatching manager used for multi-grid access | |
CN107111349B (en) | Low power control and management of driving access-based resources for multi-core system on chip | |
CN113093899B (en) | Cross-power domain data transmission method | |
TWI739345B (en) | A system and a method for handling an interrupt | |
CN103076868B (en) | The electronic system of method for managing power supply and application the method | |
CN116868167A (en) | Operation control method and device of operating system, embedded system and chip | |
US11921563B1 (en) | Operating device of cross-power domain multiprocessor and communication method thereof | |
WO2021160042A1 (en) | Power saving instruction and power saving method, and base station, device and storage medium | |
US20180307548A1 (en) | Information processing apparatus, information processing method, and non-transitory computer-readable storage medium | |
CN111459648B (en) | Heterogeneous multi-core platform resource optimization method and device for application program | |
CN113220107A (en) | Power consumption management method for PCIe link, terminal device and storage medium | |
CN116089049A (en) | Asynchronous parallel I/O request-based process synchronous scheduling method, device and equipment | |
CN115328564A (en) | Asynchronous input output thread processor resource allocation method and device | |
TWI823655B (en) | Task processing system and task processing method applicable to intelligent processing unit | |
JP2012084123A (en) | Memory control device and memory control method | |
WO2021081813A1 (en) | Multi-core processor and scheduling method therefor, device, and storage medium | |
US20200065274A1 (en) | Always-on ibi handling | |
US20240231899A9 (en) | Task processing system and task processing method applicable to intelligence processing unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO SMALL (ORIGINAL EVENT CODE: SMAL); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |