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 PDF

Info

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
Application number
US18/237,623
Inventor
Zhaohua Bao
Wei Tian
Lai ZHANG
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chipintelli Technology Co Ltd
Original Assignee
Chipintelli Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chipintelli Technology Co Ltd filed Critical Chipintelli Technology Co Ltd
Assigned to CHIPINTELLI TECHNOLOGY CO., LTD reassignment CHIPINTELLI TECHNOLOGY CO., LTD ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BAO, ZHAOHUA, TIAN, WEI, ZHANG, Lai
Assigned to CHIPINTELLI TECHNOLOGY CO., LTD reassignment CHIPINTELLI TECHNOLOGY CO., LTD CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE'S ADDRESS PREVIOUSLY RECORDED AT REEL: 064694 FRAME: 0867. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Assignors: BAO, ZHAOHUA, TIAN, WEI, ZHANG, Lai
Application granted granted Critical
Publication of US11921563B1 publication Critical patent/US11921563B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4405Initialisation of multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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

FIELD OF THE INVENTION
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.
BACKGROUND OF THE INVENTION
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.
BRIEF SUMMARY OF THE INVENTION
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.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 shows a schematic diagram of an operating device of a cross-power domain multiprocessor according to a specific embodiment of the invention; and
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.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS OF THE INVENTION
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.
Embodiment 1
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.
Embodiment 2
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.
Embodiment 3
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)

The invention claimed is:
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.
US18/237,623 2022-12-13 2023-08-24 Operating device of cross-power domain multiprocessor and communication method thereof Active US11921563B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (20)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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