A computer task allocation method

By introducing a task allocation module in the X86 and ARM hybrid architecture processor system, monitoring computing resources in real time and allocating tasks reasonably, the problem of retention of hybrid architecture processors in multi-instruction task processing is solved, and efficient computing resource utilization and computing power improvement is achieved.

CN113626202BActive Publication Date: 2025-07-04SHENZHEN POWER SUPPLY BUREAU
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110992039.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-08-27
Publication Date
2025-07-04
Estimated Expiration
2041-08-27

AI Technical Summary

Technical Problem

The existing X86 and ARM hybrid architecture processors have lag problems when handling multi-instruction tasks, which cannot meet the computing needs of high computing resources, especially when interacting with multiple clients.

Method used

The task allocation module is introduced in the X86 and ARM hybrid architecture processor system to monitor computing resources in real time, and judge the task allocation method based on the X86 complex instruction set and the ARM streamlined instruction set. The tasks are reasonably allocated to meet the computing needs through the X86 processor alone, the ARM processor alone or alternately executed.

Benefits of technology

The X86 and ARM hybrid architecture processor system can handle different instruction tasks at the same time, meet the computing needs of large computing volume, and improve the utilization efficiency of computing resources and task processing capabilities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113626202B_ABST
    Figure CN113626202B_ABST
Patent Text Reader

Abstract

The present invention relates to a computer task allocation method, comprising: a task allocation module for real-time monitoring of the computing resources of the at least two processing modules and receiving processing tasks; the task allocation module analyzes all complex instructions used to execute the processing tasks based on the X86 complex instruction set, and determines whether the processing tasks are to be executed solely by the X86 processor, or solely by the ARM processor, or alternately by the X86 processor and the ARM processor according to the all complex instructions and the ARM reduced instruction set; the task allocation module determines which processing module's X86 processor executes the processing tasks solely, or the ARM processor executes the processing tasks solely, or the X86 processor and the ARM processor execute the processing tasks alternately according to the judgment result and the computing resources, and allocates the processing tasks to the corresponding processing module. The present invention can simultaneously process different instruction tasks, and proposes multiple X86 and ARM hybrid architecture processors, which can meet the computing requirements with a large amount of computation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer technology, and particularly to a computer task allocation method. Background Art

[0002] The X86 processor is a CPU architecture processor launched by Intel. The X86 processing adopts a complex instruction set and can better handle complex calculations; it is widely used in PC computers and servers. At the same time, the X86 has relatively high power consumption and a relatively large heat dissipation requirement.

[0003] The ARM processor is a RISC microprocessor. The characteristics of the ARM processor are small size, low power consumption, low cost, and high performance; a large number of registers are used, and the instruction execution speed is faster; most data operations are completed in the registers; the addressing mode is flexible and simple, and the execution efficiency is high.

[0004] In recent years, in the field of information system technology, the application of self - controllable core components has become more and more extensive. The Feiteng CPU based on the ARM architecture and the Galaxy Kylin operating system have become self - controllable core products; currently, most of China's information systems are based on the X86 technology system. In the process of applying self - controllable products, the reliability of computer systems is an important problem that needs to be solved urgently; among them, the instruction lengths executed by the X86 and ARM hybrid - architecture processors are fixed, and when processing instructions, only one instruction can be processed at a time. When encountering multiple instructions, the instructions will be detained, resulting in the problem that tasks cannot be processed in time; moreover, a single X86 and ARM hybrid - architecture processor is only suitable for functions with relatively low computing resource requirements. For situations that need to interact with multiple clients, a single X86 and ARM hybrid - architecture processor cannot meet the computing requirements. Summary of the Invention

[0005] The purpose of the present invention is to propose a computer task allocation method, which is improved on the existing X86 and ARM hybrid - architecture processor system so that it can process different instruction tasks simultaneously, and multiple X86 and ARM hybrid - architecture processors are proposed to meet the computing requirements with a large amount of calculation.

[0006] To achieve the above object, an embodiment of the present invention proposes a computer task allocation method implemented based on a computer device. The computer device includes a task allocation module and at least two processing modules. The task allocation module includes an X86 processor, and each processing module includes an X86 processor and an ARM processor;

[0007] The method includes the following steps:

[0008] Step S10: The task allocation module is used to monitor the computing resources of the at least two processing modules in real - time and receive processing tasks;

[0009] Step S20: The task allocation module analyzes all complex instructions used to execute the processing task based on the X86 complex instruction set, and determines whether the processing task is to be executed solely by the X86 processor, or solely by the ARM processor, or alternately by the X86 processor and the ARM processor according to the all complex instructions and the ARM reduced instruction set.

[0010] Step S30: The task allocation module determines which X86 processor of which processing module is to execute the processing task solely, or which ARM processor is to execute the processing task solely, or the X86 processor and the ARM processor are to execute the processing task alternately according to the judgment result and the computing resources, and allocates the processing task to the corresponding processing module.

[0011] Preferably, step S30 specifically includes:

[0012] When step S20 determines that the processing task is to be executed solely by the X86 processor, compare the computing resources of the X86 processors in the at least two processing modules, select the X86 processor with the most abundant computing resources to execute the processing task solely, and allocate the processing task to the processing module corresponding to the X86 processor with the most abundant computing resources.

[0013] When step S20 determines that the processing task is to be executed solely by the ARM processor, compare the computing resources of the ARM processors in the at least two processing modules, select the ARM processor with the most abundant computing resources to execute the processing task solely, and allocate the processing task to the processing module corresponding to the ARM processor with the most abundant computing resources.

[0014] When step S20 determines that the processing task is to be executed alternately by the X86 processor and the ARM processor, compare the computing resources of the at least two processing modules, select the processing module with the most abundant computing resources to execute the processing task solely, and allocate the processing task to the processing module with the most abundant computing resources.

[0015] Preferably, step S20 includes:

[0016] The task allocation module obtains all complex instructions used to execute the processing task by means of a trial run in the X86 architecture, and translates the all complex instructions. If at least more than 90% of the all complex instructions can be directly translated into the reduced instructions in the ARM reduced instruction set, it is determined that the processing task is to be executed solely by the ARM processor, or alternately by the ARM processor and the X86 processor, otherwise, it is determined that the processing task is to be executed solely by the X86 processor.

[0017] Preferably, step S20 includes:

[0018] The task allocation module obtains all complex instructions used to execute the processing task by means of a trial run in the X86 architecture, and translates the all complex instructions. If at least 90% or more of the all complex instructions can be directly translated into the reduced instructions in the ARM reduced instruction set, and the amount of the translated instructions increases by no more than 130%, it is determined that the ARM processor executes the processing task alone, or the ARM processor and the X86 processor execute the processing task alternately. Otherwise, it is determined that the X86 processor executes the processing task alone.

[0019] Preferably, the determination that the ARM processor executes the processing task alone, or the ARM processor and the X86 processor execute the processing task alternately, includes:

[0020] If all the complex instructions can be directly translated into the reduced instructions in the ARM reduced instruction set, the ARM processor executes the processing task; if a part of the all complex instructions cannot be directly translated into the reduced instructions in the ARM reduced instruction set, the ARM processor and the X86 processor execute the processing task alternately. The ARM processor processes the part of the instructions that can be directly translated into the reduced instructions in the ARM reduced instruction set, and the X86 processor processes the part of the instructions that cannot be directly translated into the reduced instructions in the ARM reduced instruction set.

[0021] Preferably, step S30 further includes:

[0022] When step S20 determines that the ARM processor and the X86 processor execute the processing task alternately, an interrupt point is set for the processing task and allocated to the corresponding processing module, so that the X86 processor and the ARM processor of the processing module execute the processing task alternately according to the interrupt point.

[0023] Preferably, during the process of the X86 processor and the ARM processor alternately executing the tasks allocated by the task allocation module,

[0024] When the task processed by the X86 processor reaches the interrupt point, it requests the ARM processor to obtain the relevant processing results of the ARM processor required for processing the processing task, interrupts the task and waits for the relevant processing results of the ARM processor, and continues to execute the task according to the relevant processing results of the ARM processor after receiving the relevant processing results of the ARM processor.

[0025] When the task processed by the ARM processor reaches an interrupt point, it requests the relevant processing results of the X86 processor required to process the processing task from the X86 processor, waits for the processing results of the X86 processor for task interruption, and continues to execute the task according to the relevant processing results of the X86 processor after receiving the relevant processing results of the X86 processor;

[0026] Among them, the data transmission between the X86 processor and the ARM processor is realized through forwarding by the task allocation module.

[0027] Preferably, the step S30 further includes:

[0028] When it is judged in step S20 that the ARM processor and the X86 processor alternately execute the processing task, an interrupt point and a priority are set for the processing task and allocated to the corresponding processing module, so that the X86 processor and the ARM processor of the processing module alternately execute the processing task according to the interrupt point and the priority.

[0029] Preferably, during the process of the X86 processor and the ARM processor alternately executing the tasks allocated by the task allocation module,

[0030] When the X86 processor receives a request from the ARM processor to obtain the relevant processing results of the X86 processor required to process the processing task, the request carries a task priority mark. The X86 processor compares the priority of the task being interrupted by the ARM processor and the priority of the task being processed by the X86 processor. The X86 processor preferentially processes the request from the ARM processor to obtain the relevant processing results of the X86 processor required to process the processing task or the task being processed by the X86 processor according to the priority comparison result;

[0031] When the ARM processor receives a request from the X86 processor to obtain the relevant processing results of the ARM processor required to process the processing task, the request carries a task priority mark. The ARM processor compares the priority of the task being interrupted by the X86 processor and the priority of the task being processed by the ARM processor. The ARM processor preferentially processes the request from the X86 processor to obtain the relevant processing results of the ARM processor required to process the processing task or the task being processed by the ARM processor according to the priority comparison result.

[0032] Preferably, the X86 processor preferentially processes the request from the ARM processor to obtain the relevant processing results of the X86 processor required to process the processing task or the task being processed by the X86 processor according to the priority comparison result, including:

[0033] When the priority of the task being interrupted by the ARM processor is high, the request from the ARM processor to obtain the relevant processing results of the X86 processor required for processing the processing task is preferentially processed, the relevant task is processed according to the request of the ARM processor, and the processing result is fed back to the ARM processor, and then the task being processed by the X86 processor is continued;

[0034] The ARM processor preferentially processes the request from the X86 processor to obtain the relevant processing results of the ARM processor required for processing the processing task or the task being processed by the ARM processor according to the priority comparison result, including:

[0035] When the priority of the task being interrupted by the X86 processor is high, the request from the X86 processor to obtain the relevant processing results of the ARM processor required for processing the processing task is preferentially processed, the relevant task is processed according to the request of the X86 processor, and the processing result is fed back to the X86 processor, and then the task being processed by the ARM processor is continued.

[0036] The embodiments of the present invention at least have the following beneficial effects:

[0037] The embodiments of the present invention are improved on the existing X86 and ARM hybrid architecture processor systems, enabling different instruction tasks to be processed simultaneously. An X86 processor is added for task execution allocation and guidance. The X86 processor and the ARM processor perform arithmetic processing in a divided or alternating manner according to the differences in the programs or transactions to be processed by themselves, so that the X86 and ARM hybrid architecture processor systems can process different instruction tasks simultaneously; moreover, the embodiments of the present invention include multiple processing modules, and each processing module includes an X86 processor and an ARM processor, and can reasonably allocate processing tasks according to the computing resources of the X86 processors and ARM processors in multiple processing modules to meet the computing requirements with a large amount of computation.

[0038] Other features and advantages of the embodiments of the present invention will be described in the subsequent specification. BRIEF DESCRIPTION OF THE DRAWINGS

[0039] In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, the following drawings are only some embodiments of the present invention, and for those of ordinary skill in the art, other drawings can be obtained based on these drawings without creative efforts.

[0040] Figure 1 It is a flowchart of a computer task allocation method according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION

[0041] Various exemplary embodiments, features, and aspects of the present disclosure will be described in detail below with reference to the accompanying drawings. Additionally, for a better illustration of the present invention, numerous specific details are given in the following specific embodiments. Those skilled in the art should understand that the present invention can also be implemented without some of these specific details. In some instances, means well-known to those skilled in the art are not described in detail to highlight the gist of the present invention.

[0042] Refer to Figure 1 , an embodiment of the present invention provides a computer task allocation method, which is implemented based on a computer device. The computer device includes a task allocation module and at least two processing modules. The task allocation module includes an X86 processor, and each processing module includes an X86 processor and an ARM processor;

[0043] The method includes the following steps:

[0044] Step S10: The task allocation module is used to monitor the computing resources of the at least two processing modules in real time and receive processing tasks;

[0045] Step S20: The task allocation module analyzes all the complex instructions used to execute the processing task based on the X86 complex instruction set, and determines whether to execute the processing task by the X86 processor alone, or by the ARM processor alone, or by the X86 processor and the ARM processor alternately according to the all complex instructions and the ARM reduced instruction set;

[0046] Step S30: The task allocation module determines which X86 processor or ARM processor of which processing module will execute the processing task alone, or the X86 processor and the ARM processor will execute the processing task alternately according to the judgment result and the computing resources, and allocates the processing task to the corresponding processing module.

[0047] Specifically, for tasks that are suitable for processing by the X86 complex instruction set, try to hand them over to the X86 complex instruction set for processing through task allocation; for example, the following complex operations and non-standard tasks. For tasks that are suitable for processing by the ARM reduced instruction set, try to hand them over to the ARM reduced instruction set for processing through task allocation; for example, some mathematical operations, image processing, and other standard repetitive tasks.

[0048] The embodiments of the present invention are improved on the existing X86 and ARM hybrid architecture processor systems, enabling different instruction tasks to be processed simultaneously. An X86 processor is added for task execution allocation and guidance. The X86 processor and the ARM processor perform arithmetic processing in a divided or alternating manner according to differences in the programs or transactions to be processed by themselves, so that the X86 and ARM hybrid architecture processor system can process different instruction tasks simultaneously. Moreover, the embodiments of the present invention include multiple processing modules, and each processing module includes an X86 processor and an ARM processor, which can reasonably allocate processing tasks according to the computing resources of the X86 processors and ARM processors in multiple processing modules to meet the computing requirements with a large amount of computation.

[0049] In some embodiments, step S30 specifically includes:

[0050] When step S20 determines that the processing task is to be executed solely by the X86 processor, compare the computing resources of the X86 processors in the at least two processing modules, select the X86 processor with the most abundant computing resources to execute the processing task alone, and allocate the processing task to the processing module corresponding to the X86 processor with the most abundant computing resources;

[0051] When step S20 determines that the processing task is to be executed solely by the ARM processor, compare the computing resources of the ARM processors in the at least two processing modules, select the ARM processor with the most abundant computing resources to execute the processing task alone, and allocate the processing task to the processing module corresponding to the ARM processor with the most abundant computing resources;

[0052] When step S20 determines that the processing task is to be executed alternately by the X86 processor and the ARM processor, compare the computing resources of the at least two processing modules, select the processing module with the most abundant computing resources to execute the processing task alone, and allocate the processing task to the processing module with the most abundant computing resources.

[0053] Specifically, the computing resources at least include CPU resources and memory resources.

[0054] In some embodiments, step S20 includes:

[0055] The task allocation module obtains all the complex instructions used to execute the processing task by means of a trial run in the X86 architecture, and translates all the complex instructions. If at least 90% or more of all the complex instructions can be directly translated into the reduced instructions in the ARM reduced instruction set, it is determined that the ARM processor executes the processing task alone, or the ARM processor and the X86 processor execute the processing task alternately. Otherwise, it is determined that the X86 processor executes the processing task alone.

[0056] In some embodiments, step S20 includes:

[0057] The task allocation module obtains all the complex instructions used to execute the processing task by means of a trial run in the X86 architecture, and translates all the complex instructions. If at least 90% or more of all the complex instructions can be directly translated into the reduced instructions in the ARM reduced instruction set, and the amount of the translated instructions increases by no more than 130%, it is determined that the ARM processor executes the processing task alone, or the ARM processor and the X86 processor execute the processing task alternately. Otherwise, it is determined that the X86 processor executes the processing task alone.

[0058] In some embodiments, the determination that the ARM processor executes the processing task alone, or the ARM processor and the X86 processor execute the processing task alternately, includes:

[0059] If all the complex instructions can be directly translated into the reduced instructions in the ARM reduced instruction set, the ARM processor executes the processing task; if a part of all the complex instructions cannot be directly translated into the reduced instructions in the ARM reduced instruction set, the ARM processor and the X86 processor execute the processing task alternately. The ARM processor processes the part of the instructions that can be directly translated into the reduced instructions in the ARM reduced instruction set, and the X86 processor processes the part of the instructions that cannot be directly translated into the reduced instructions in the ARM reduced instruction set.

[0060] In some embodiments, step S30 further includes:

[0061] When step S20 determines that the ARM processor and the X86 processor execute the processing task alternately, an interrupt point is set for the processing task and assigned to the corresponding processing module, so that the X86 processor and the ARM processor of the processing module execute the processing task alternately according to the interrupt point.

[0062] In some embodiments, during the process of the X86 processor and the ARM processor alternately executing the tasks assigned by the task allocation module,

[0063] When the task processed by the X86 processor reaches an interrupt point, it requests the ARM processor to obtain the relevant processing results of the ARM processor required for processing the task, interrupts the task and waits for the relevant processing results of the ARM processor, and continues to execute the task according to the relevant processing results of the ARM processor after receiving the relevant processing results of the ARM processor;

[0064] When the task processed by the ARM processor reaches an interrupt point, it requests the X86 processor to obtain the relevant processing results of the X86 processor required for processing the task, interrupts the task and waits for the processing results of the X86 processor, and continues to execute the task according to the relevant processing results of the X86 processor after receiving the relevant processing results of the X86 processor;

[0065] Among them, the data transmission between the X86 processor and the ARM processor is realized through forwarding by the task allocation module.

[0066] In some embodiments, the step S30 further includes:

[0067] When it is determined in step S20 that the ARM processor and the X86 processor alternately execute the processing task, set an interrupt point and a priority for the processing task, and allocate it to the corresponding processing module, so that the X86 processor and the ARM processor of the processing module alternately execute the processing task according to the interrupt point and the priority.

[0068] Specifically, the X86 processor or the ARM processor of the processing module compares the priorities of all tasks being processed or to be processed according to the task priority, and preferentially processes the tasks with higher priorities.

[0069] In some embodiments, during the process of the X86 processor and the ARM processor alternately executing the tasks allocated by the task allocation module,

[0070] When the X86 processor receives a request from the ARM processor to obtain the relevant processing results of the X86 processor required for processing the task, the request carries a task priority tag (assigned by the task allocation module), the X86 processor compares the priority of the task being interrupted by the ARM processor and the priority of the task being processed by the X86 processor, and the X86 processor preferentially processes the request from the ARM processor to obtain the relevant processing results of the X86 processor required for processing the task or the task being processed by the X86 processor according to the priority comparison result;

[0071] When the ARM processor receives a request from the X86 processor to obtain the relevant processing results of the ARM processor required to process the processing task, the request carries a task priority tag (assigned by the task allocation module). The ARM processor compares the priority of the task that the X86 processor is interrupting with the priority of the task that the ARM processor is processing. The ARM processor preferentially processes the request from the X86 processor to obtain the relevant processing results of the ARM processor required to process the processing task or the task that the ARM processor is processing according to the priority comparison result.

[0072] Among them, the data transmission between the X86 processor and the ARM processor is realized through the forwarding of the task allocation module. That is, for the requests and the sending of relevant processing results between the X86 processor and the ARM processor, the sender first sends them to the task allocation module, and the task allocation module forwards them to the receiver.

[0073] When the ARM processor reaches a task interruption point during task execution and needs to obtain the relevant processing results that the X86 processor helps to execute alternately in order to continue subsequent processing, the ARM processor requests the task allocation module for the part of the task that needs to be processed by the X86 processor. The task allocation module sets a priority for this part of the task and then forwards it to the X86 processor.

[0074] When the X86 processor reaches a task interruption point during task execution and needs to obtain the relevant processing results that the ARM processor helps to execute alternately in order to continue subsequent processing, the X86 processor requests the task allocation module for the part of the task that needs to be processed by the ARM processor. The task allocation module sets a priority for this part of the task and then forwards it to the ARM processor.

[0075] In some embodiments, the X86 processor preferentially processes the request from the ARM processor to obtain the relevant processing results of the X86 processor required to process the processing task or the task that the X86 processor is processing according to the priority comparison result, including:

[0076] When the priority of the task that the ARM processor is interrupting is higher, the request from the ARM processor to obtain the relevant processing results of the X86 processor required to process the processing task is preferentially processed. The relevant tasks are processed according to the request of the ARM processor, and the processing results are fed back to the ARM processor, and then the task that the X86 processor is processing is continued.

[0077] The ARM processor preferentially processes the request from the X86 processor to obtain the relevant processing results of the ARM processor required to process the processing task or the task that the ARM processor is processing according to the priority comparison result, including:

[0078] When the priority of the task being interrupted by the X86 processor is relatively high, the request sent by the X86 processor to obtain the relevant processing results of the ARM processor required for processing the processing task is preferentially processed. The relevant tasks are processed according to the request of the X86 processor, and the processing results are fed back to the X86 processor, and then the task being processed by the ARM processor is continued.

[0079] Specifically, in this embodiment, for a task that requires the other party to interrupt the current task processing and perform insertion processing during the task processing, it is implemented in the following manner: The sender in the X86 processor and the ARM processor sends a request to the task allocation module. After receiving the request, the task allocation module determines the priority of the task being processed by the receiver, sets a level one higher than the other party's priority for the requested task, and hands the requested task to the other party for preferential processing. Because only a small part of the tasks that need to be processed by the other party are often very fast to process. Therefore, this embodiment can avoid the long interrupt waiting of the processor during the alternating execution of tasks, thereby improving the efficiency of the alternating execution of tasks.

[0080] The embodiments of the present invention have been described above. The above description is exemplary, not exhaustive, and is not limited to the disclosed embodiments. Many modifications and variations are obvious to those of ordinary skill in the art in the technical field without departing from the scope and spirit of the described embodiments. The choice of terms used herein is intended to best explain the principles of the embodiments, practical applications, or improvements to the technology in the market, or to enable other ordinary skilled persons in the technical field to understand the embodiments disclosed herein.

Claims

1. A computer task allocation method, characterized in that, Implemented based on a computer device, the computer device includes a task allocation module and at least two processing modules. The task allocation module includes an X86 processor, and each processing module includes an X86 processor and an ARM processor; The method includes the following steps: Step S10: The task allocation module is used to monitor the computing resources of the at least two processing modules in real time and receive processing tasks; Step S20: The task allocation module analyzes all complex instructions used to execute the processing task based on the X86 complex instruction set, and determines whether to execute the processing task by the X86 processor alone, or the ARM processor alone, or the X86 processor and the ARM processor alternately according to the all complex instructions and the ARM reduced instruction set; The task allocation module obtains all complex instructions used to execute the processing task by means of the X86 architecture trial run and translates the all complex instructions. If at least 90% or more of the all complex instructions can be directly translated into reduced instructions in the ARM reduced instruction set, and the amount of translated instructions does not increase by more than 130%, it is determined that the processing task is executed by the ARM processor alone, or the processing task is executed alternately by the ARM processor and the X86 processor. Otherwise, it is determined that the processing task is executed by the X86 processor alone; The determination that the processing task is executed by the ARM processor alone, or the processing task is executed alternately by the ARM processor and the X86 processor, includes: If all the complex instructions can be directly translated into reduced instructions in the ARM reduced instruction set, the ARM processor executes the processing task; if a part of the all complex instructions cannot be directly translated into reduced instructions in the ARM reduced instruction set, the ARM processor and the X86 processor execute the processing task alternately. The ARM processor processes the part of instructions that can be directly translated into reduced instructions in the ARM reduced instruction set, and the X86 processor processes the part of instructions that cannot be directly translated into reduced instructions in the ARM reduced instruction set; Step S30: The task allocation module determines which X86 processor of the processing module executes the processing task alone, or the ARM processor executes the processing task alone, or the X86 processor and the ARM processor execute the processing task alternately according to the judgment result and the computing resources, and allocates the processing task to the corresponding processing module; wherein, when step S20 determines that the processing task is executed alternately by the ARM processor and the X86 processor, an interrupt point is set for the processing task and allocated to the corresponding processing module, so that the X86 processor and the ARM processor of the processing module execute the processing task alternately according to the interrupt point; or, when step S20 determines that the processing task is executed alternately by the ARM processor and the X86 processor, an interrupt point and a priority are set for the processing task and allocated to the corresponding processing module, so that the X86 processor and the ARM processor of the processing module execute the processing task alternately according to the interrupt point and the priority; The step S30 specifically includes: When it is determined in step S20 that the processing task is to be executed solely by the X86 processor, compare the computing resources of the X86 processors in the at least two processing modules, select one X86 processor with the most abundant computing resources to execute the processing task alone, and allocate the processing task to the processing module corresponding to the one X86 processor with the most abundant computing resources; When it is determined in step S20 that the processing task is to be executed solely by the ARM processor, compare the computing resources of the ARM processors in the at least two processing modules, select one ARM processor with the most abundant computing resources to execute the processing task alone, and allocate the processing task to the processing module corresponding to the one ARM processor with the most abundant computing resources; When it is determined in step S20 that the processing task is to be executed alternately by the X86 processor and the ARM processor, compare the computing resources of the at least two processing modules, select one processing module with the most abundant computing resources to execute the processing task alone, and allocate the processing task to the one processing module with the most abundant computing resources; 2. The computer task allocation method according to claim 1, wherein During the process of the X86 processor and the ARM processor alternately executing the tasks assigned by the task assignment module, When the task processed by the X86 processor reaches the interruption point, request from the ARM processor to obtain the relevant processing results of the ARM processor required for processing the processing task, interrupt the task and wait for the relevant processing results of the ARM processor, and after receiving the relevant processing results of the ARM processor, continue to execute the task according to the relevant processing results of the ARM processor; When the task processed by the ARM processor reaches the interruption point, request from the X86 processor to obtain the relevant processing results of the X86 processor required for processing the processing task, interrupt the task and wait for the processing results of the X86 processor, and after receiving the relevant processing results of the X86 processor, continue to execute the task according to the relevant processing results of the X86 processor; Among them, the data transmission between the X86 processor and the ARM processor is realized through forwarding by the task assignment module.

3. The computer task allocation method according to claim 2, wherein During the process of the X86 processor and the ARM processor alternately executing the tasks assigned by the task assignment module, When the X86 processor receives a request from the ARM processor to obtain the relevant processing results of the X86 processor required for processing the processing task, the request carries a task priority tag. The X86 processor compares the priority of the task being interrupted by the ARM processor and the priority of the task being processed by the X86 processor. The X86 processor preferentially processes the request from the ARM processor to obtain the relevant processing results of the X86 processor required for processing the processing task or the task being processed by the X86 processor according to the priority comparison result; When the ARM processor receives a request from the X86 processor to obtain the relevant processing results of the ARM processor required for processing the processing task, the request carries a task priority tag. The ARM processor compares the priority of the task being interrupted by the X86 processor and the priority of the task being processed by the ARM processor. The ARM processor preferentially processes the request from the X86 processor to obtain the relevant processing results of the ARM processor required for processing the processing task or the task being processed by the ARM processor according to the priority comparison result.

4. The computer task allocation method according to claim 3, wherein, The X86 processor preferentially processes the request from the ARM processor to obtain the relevant processing results of the X86 processor required for processing the processing task or the task being processed by the X86 processor according to the priority comparison result, including: When the priority of the task being interrupted by the ARM processor is higher, preferentially process the request from the ARM processor to obtain the relevant processing results of the X86 processor required for processing the processing task, process the relevant task according to the request of the ARM processor, and feedback the processing result to the ARM processor, and then continue the task being processed by the X86 processor; The ARM processor preferentially processes the request from the X86 processor to obtain the relevant processing results of the ARM processor required for processing the processing task or the task being processed by the ARM processor according to the priority comparison result, including: When the priority of the task being interrupted by the X86 processor is higher, preferentially process the request from the X86 processor to obtain the relevant processing results of the ARM processor required for processing the processing task, process the relevant task according to the request of the X86 processor, and feedback the processing result to the X86 processor, and then continue the task being processed by the ARM processor.

Citation Information

Patent Citations

  • Energy-saving scheduling system and method for X86 and ARM hybrid cloud computing, and storage medium

    CN113075994A

  • Microprocessor with an architecture mode control capable of supporting extensions of two distinct instruction-set architectures

    US5854913A