CN114356586B - Processor and electronic equipment - Google Patents

Processor and electronic equipment Download PDF

Info

Publication number
CN114356586B
CN114356586B CN202210260717.4A CN202210260717A CN114356586B CN 114356586 B CN114356586 B CN 114356586B CN 202210260717 A CN202210260717 A CN 202210260717A CN 114356586 B CN114356586 B CN 114356586B
Authority
CN
China
Prior art keywords
resource
task
resources
management unit
processor
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
CN202210260717.4A
Other languages
Chinese (zh)
Other versions
CN114356586A (en
Inventor
窦强
张承义
赵天磊
高军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Phytium Technology Co Ltd
Original Assignee
Phytium 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 Phytium Technology Co Ltd filed Critical Phytium Technology Co Ltd
Priority to CN202210260717.4A priority Critical patent/CN114356586B/en
Publication of CN114356586A publication Critical patent/CN114356586A/en
Application granted granted Critical
Publication of CN114356586B publication Critical patent/CN114356586B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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

Abstract

The application provides a processor and an electronic device; the processor includes: a resource management unit and at least one processor core; each processor core is used for executing a task to be processed; the resource management unit is used for carrying out resource management on the resources corresponding to the tasks to be processed; the resource management includes at least one or more of: resource allocation, resource recovery and resource state management; and the resource corresponding to the task to be processed is allocated by the resource management unit based on the information of the task to be processed. By the method and the device, the performance of the processor and the utilization rate of resources can be improved.

Description

Processor and electronic equipment
Technical Field
The present application relates to computer architecture technologies, and in particular, to a processor and an electronic device.
Background
With improvements in computer architectures and rapid advances in microprocessor technology, computer performance has also increased dramatically. Electronic devices based on microprocessor technology typically allocate resources within the electronic device at a granularity of processor cores such that each processor core within the electronic device is able to process tasks in accordance with the allocated resources. Therefore, how to improve the performance of the processor and the resource utilization rate in the electronic device is a constantly sought goal of microprocessor technology.
Disclosure of Invention
The embodiment of the application provides a processor and an electronic device, which can improve the performance of the processor and the utilization rate of resources.
The technical scheme of the embodiment of the application is realized as follows:
in a first aspect, an embodiment of the present application provides a processor, where the processor includes:
a resource management unit and at least one processor core; each processor core is used for executing a task to be processed; the resource management unit is used for carrying out resource management on the resources corresponding to the tasks to be processed; the resource management includes at least one or more of: resource allocation, resource recovery and resource state management; and the resource corresponding to the task to be processed is allocated by the resource management unit based on the information of the task to be processed.
In some optional embodiments, the resource management comprises resource allocation;
the resource management unit is used for determining the information of the task to be processed and determining a target resource for executing the task to be processed based on the information of the task to be processed.
In some optional embodiments, the resource management unit is configured to determine a resource allocation policy based on the information of the to-be-processed task;
and distributing target resources for the tasks to be processed based on the resource distribution strategy.
In some optional embodiments, the resource management unit is configured to determine, based on the information of the to-be-processed task, a strength of a resource required by the to-be-processed task;
and determining the resource allocation strategy based on the strength of the resources required by the task to be processed.
In some optional embodiments, the resource management unit is configured to determine, in response to that the strength of the resource required by the task to be processed satisfies a first condition, that the resource allocation policy is a first resource allocation policy;
determining the resource allocation strategy as a second resource allocation strategy in response to the strength of the resources required by the task to be processed meeting a second condition;
wherein, for the same type of resource, the size of the resource allocated based on the first resource allocation policy is smaller than the size of the resource allocated based on the second resource allocation policy.
In some optional embodiments, for each type of resource within an electronic device, the resource management unit is configured to divide the each type of resource into at least one sub-resource pool based on the resource allocation policy;
determining that the resource in one of the at least one sub-resource pool is the target resource.
In some alternative embodiments, any two of the sub-resource pools include resources of the same or different sizes.
In some optional embodiments, all types of said resources are located within one resource pool; alternatively, each type of resource is located within one resource pool.
In some optional embodiments, the resource management unit is a program installed on the processor; alternatively, the resource management unit is a hardware component on the processor.
In some optional embodiments, the resource management unit comprises a program installed on the processor and a hardware component on the processor.
In some optional embodiments, the hardware component is configured to determine information of the to-be-processed task, and send the information of the to-be-processed task to the program;
the program is configured to determine the resource allocation policy based on the information of the to-be-processed task, and send the resource allocation policy to the hardware component.
In some optional embodiments, the resource management comprises: resource recovery;
the resource management unit is used for receiving a task ending instruction, determining resources for executing a task corresponding to the task ending instruction based on the task ending instruction, and recycling the resources;
and the resource is distributed to a processor core by the resource management unit according to the information of the task.
In some optional embodiments, the resource management unit is configured to, in response to that the task is not completely ended, confirm at least one sub-resource corresponding to the task end instruction by the resource management unit;
the resource management unit confirms the sub-resources corresponding to the completed pipeline stages in the pipeline corresponding to the task;
and the sub-resources are partial resources in the resources required for executing the task.
In some optional embodiments, the resource management unit is configured to, in response to that all the tasks are finished, confirm all the sub-resources corresponding to the task end instruction by the resource management unit;
the resource management unit confirms that all the sub-resources are resources for executing the task corresponding to the task ending instruction;
and the all sub-resources comprise sub-resources which are executed in all resources for executing the task.
In some optional embodiments, the resource management comprises resource state management;
the resource management unit is used for monitoring the resource calling condition of the electronic equipment in a first time interval and controlling the state of the resource based on the resource calling condition, wherein the state of the resource comprises a dormant state or an awakening state;
wherein the resources in the sleep state can be allocated to a processor core, and the resources in the wake state cannot be allocated to a processor core.
In some optional embodiments, the resource management unit is configured to control the state of the resource to be a dormant state in response to the resource calling condition being that the resource is not called.
In some optional embodiments, the resource management unit is configured to, in response to that the resource in the dormant state satisfies a wake condition, control the state of the resource to be a wake state.
In a second aspect, an embodiment of the present application provides an electronic device, where the electronic device includes: the processor, the memory and the bus;
the memory stores executable instructions;
the processor and the memory communicate through the bus.
The processor provided by the embodiment of the application comprises: a resource management unit and at least one processor core; each processor core is used for executing a task to be processed; the resource management unit is used for carrying out resource management on the resources corresponding to the tasks to be processed; the resource management includes at least one or more of: resource allocation, resource recovery and resource state management; and the resource corresponding to the task to be processed is allocated by the resource management unit based on the information of the task to be processed. Therefore, the resources required by the tasks to be processed are allocated according to the information of the tasks to be processed, the resources can be allocated according to the requirements of the tasks to be processed on the resources, the resource waste is avoided, and the resource utilization rate is improved; the distributed resources meet the requirements of the tasks to be processed on the resources, so that the execution efficiency of the tasks to be processed can be improved, and the performance of the processor can be improved.
Drawings
FIG. 1 is a flow chart illustrating the processing of instructions in the related art;
FIG. 2 is a schematic diagram of an alternative architecture of a processor provided by an embodiment of the present application;
fig. 3 is a schematic view of an alternative processing flow of a resource management unit allocating resources to a task to be processed based on information of the task to be processed according to an embodiment of the present application;
fig. 4 is a schematic diagram illustrating a resource management unit allocating target resources to a to-be-processed task based on information of the to-be-processed task according to an embodiment of the present application;
FIG. 5 is a schematic diagram of resource partitioning in an electronic device according to an embodiment of the present application;
fig. 6 is a schematic diagram illustrating partitioning of a sub-resource pool based on a resource allocation policy according to an embodiment of the present application;
FIG. 7 is a schematic diagram of another partitioning sub-resource pools based on a resource allocation policy according to an embodiment of the present application;
FIG. 8 is a schematic flow chart of an alternative resource recycling method provided by an embodiment of the present application;
fig. 9 is a schematic view of an alternative processing flow of resource state management performed on a resource by a resource management unit according to an embodiment of the present application;
fig. 10 is a schematic hardware structure diagram of an electronic device according to an embodiment of the present application.
Detailed Description
In order to make the objectives, technical solutions and advantages of the present application clearer, the present application will be described in further detail with reference to the attached drawings, the described embodiments should not be considered as limiting the present application, and all other embodiments obtained by a person of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application.
In the following description, reference is made to "some embodiments" which describe a subset of all possible embodiments, but it is understood that "some embodiments" may be the same subset or different subsets of all possible embodiments, and may be combined with each other without conflict.
In the following description, references to the terms "first", "second", and the like, are only to distinguish similar objects and do not denote a particular order, but rather the terms "first", "second", and the like may be used interchangeably with the order specified, where permissible, to enable embodiments of the present application described herein to be practiced otherwise than as specifically illustrated or described herein.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of the present application only and is not intended to be limiting of the application.
It should be understood that, in the various embodiments of the present application, the size of the serial number of each implementation process does not mean the execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.
Before further detailed description of the embodiments of the present application, terms and expressions referred to in the embodiments of the present application will be described, and the terms and expressions referred to in the embodiments of the present application will be used for the following explanation.
1) A processor core: is the most core part inside the processor and can also be called as the processor core.
2) A processor: including one or more processor cores, and other components or devices such as memory.
3) Assembly line: the method is an implementation technology for executing a plurality of instructions in an overlapping way, each step in a pipeline finishes one part of the instructions, each step is called as a pipeline stage or a pipeline section, and the pipeline stages are connected in front and back to form the pipeline; instructions enter at one end of the pipeline and exit at the other end of the pipeline through the pipeline stages; each pipeline corresponds to a task.
For the processing flow of an instruction in a pipeline, as shown in fig. 1, the life cycle of an instruction in a pipeline includes: fetching, decoding, executing, accessing and writing back. Instruction fetching refers to a process of reading an instruction from a memory. Instruction decoding refers to a process of translating an instruction fetched from a memory, and after decoding, an operand Register index required by the instruction is obtained, and the operand can be read from a general Register File (Register File) by using the operand Register index. The type of computation to be performed after Instruction decode is known and the required operands have been read from the general purpose register set, then Instruction execution (Instruction execution) follows. Instruction execution refers to the process of actually operating on an instruction. For example, if the instruction is an add operation instruction, the operand is added; if the instruction is a subtraction operation, the operand is subtracted. The most common component in the "execute" stage is the ALU, which is a hardware functional unit that implements specific operations. Memory access refers to the process by which memory access instructions read data from memory or write data to memory. Write-back refers to a process of writing back the result of instruction execution to the general register set, if it is a normal operation instruction, the result value comes from the result of the calculation in the "execution" stage; in the case of a memory read command, the result is data read from memory during the "access" phase.
The resources allocated to a processor core refer to the resources used for the various pipeline stages of the execution pipeline. For example: the resources allocated to the processor core can be branch prediction resources, instruction fetching resources, decoding resources, renaming resources, execution resources and the like; the execution resources may include at least one or more of arithmetic resources, register resources, and memory resources. The memory resources may include buffers and memories, and the buffers may include at least one or more of an L1 buffer, an L2 buffer, and an L3 buffer. The memory may be any type of memory such as a flash memory. The transcoding resources may include at least one transcoder. The renaming resource may include at least one register.
In the related art, a piece of computer equipment internally comprises a plurality of processor cores, and resources in the computer equipment are allocated by taking the processor cores as granularity; specifically, resources corresponding to each processor core are allocated to each processor core; the resources among the processor cores are independent from one another, and the processor core A cannot use the resources allocated to the processor core B when executing tasks; likewise, processor core B cannot accommodate the resources allocated to processor core a while executing tasks. The applicant finds that when the resources in the computer device are allocated by taking the processor cores as the granularity, at least the following problems exist: when a pipeline executed by a certain processor core needs stronger resources, the resources allocated to the processor core cannot meet the requirements of the pipeline on the resources, and the task execution efficiency is low; when a pipeline executed by a certain processor core needs weak resources, part of the resources allocated to the processor core are idle, and the resources cannot be effectively utilized.
Aiming at the problems of low resource utilization rate and low task execution efficiency in resource allocation in the related art, the embodiments of the present application provide a resource allocation method, an electronic device, and a computer-readable storage medium, which can improve the resource utilization rate and the execution efficiency of a task to be processed.
As shown in fig. 2, an optional structural diagram of a processor provided in the embodiment of the present application, where the processor 100 includes: a resource management unit 101 and at least one processor core 102.
Each processor core 102 is configured to execute a task to be processed;
the resource management unit 101 is configured to perform resource management on a resource corresponding to a task to be processed;
the resource management includes at least one or more of: resource allocation, resource reclamation, and resource status management.
The following description is made for the contents included in resource management, respectively:
resource allocation
In some embodiments, the resource management unit 101 is configured to determine information of the to-be-processed task, and determine a target resource for executing the to-be-processed task based on the information of the to-be-processed task.
In specific implementation, the resource management unit 101 is configured to determine a resource allocation policy based on the information of the to-be-processed task; and distributing target resources for the tasks to be processed based on the resource distribution strategy.
Optionally, the resource management unit 101 is configured to determine, based on the information of the to-be-processed task, the strength of the resource required by the to-be-processed task; and determining the resource allocation strategy based on the strength of the resources required by the tasks to be processed.
Or, optionally, the resource management unit 101 is configured to determine, in response to that the strength of the resource required by the task to be processed satisfies a first condition, that the resource allocation policy is a first resource allocation policy; determining the resource allocation strategy as a second resource allocation strategy in response to the strength of the resources required by the task to be processed meeting a second condition; wherein, for the same type of resource, the size of the resource allocated based on the first resource allocation policy is smaller than the size of the resource allocated based on the second resource allocation policy.
In some embodiments, for each type of resource within an electronic device, the resource management unit 101 is configured to divide the each type of resource into at least one sub-resource pool based on the resource allocation policy;
determining that the resource in one of the at least one sub-resource pool is the target resource.
In some embodiments, any two of the sub-resource pools include resources of the same or different sizes. In specific implementation, all types of resources can be located in one resource pool; alternatively, each type of resource is located in one resource pool.
In some embodiments, an optional process flow diagram of the resource management unit allocating resources for the to-be-processed task based on the information of the to-be-processed task, as shown in fig. 3, may include at least the following steps:
in step S201, the resource management unit determines information of the task to be processed.
In some embodiments, a pending task may refer to a task to be executed by a processor core within an electronic device, one pending task corresponding to each pipeline.
In some embodiments, the information of the pending task may include at least one or more of: the type of the task to be processed, the name of the task to be processed, the application program corresponding to the task to be processed and the execution period of the task to be processed.
Step S202, a resource management unit allocates target resources for a task to be processed based on information of the task to be processed; the target resource is used for a processor core in the electronic equipment to execute the task to be processed.
In some embodiments, the resource management unit allocates a schematic diagram of target resources for the to-be-processed task based on the information of the to-be-processed task, as shown in fig. 4, and at least includes the following steps:
in step S102a, the resource management unit determines a resource allocation policy based on the information of the task to be processed.
Step S102b, the resource management unit allocates target resources for the to-be-processed task based on the resource allocation policy.
With respect to step S102a, the specific implementation process of the resource management unit determining the resource allocation policy based on the information of the task to be processed may include: the resource management unit determines the strength of the resource required by the task to be processed based on the information of the task to be processed, and then determines the resource allocation strategy based on the strength of the resource required by the task to be processed.
In some embodiments, the resources required for a task may be divided into a number of different intensity levels based on intensity. As an example, resources required by a task are divided into two levels based on intensity, and in response to that the intensity of the resources required by the task to be processed meets a first condition, the resource allocation policy is determined to be a first resource allocation policy; and determining the resource allocation strategy to be a second resource allocation strategy in response to the strength of the resources required by the task to be processed meeting a second condition. The resources with the strength meeting the first condition are weak resources, and the resources with the strength meeting the second condition are strong resources; for weak resources, dividing available resources in the electronic equipment based on a first resource allocation strategy; for strong resources, available resources within the electronic device are partitioned based on a second resource allocation policy. As an example, the first condition may be that the strength of the resource is less than a first strength threshold, the second condition may be that the strength of the resource is greater than a second strength threshold, the first strength threshold and the second strength threshold both being used to characterize the strength or size of the resource, the first strength threshold being less than or equal to the second strength threshold. And aiming at the same type of resources, the size of each resource distributed based on the first resource distribution strategy is smaller than that distributed based on the second resource distribution strategy.
In the above, the resource required by the task is divided into two levels based on the strength, and in specific implementation, the resource required by the task may be divided into three levels or more than three levels based on the strength, which is not limited in the embodiment of the present application. And the resource allocation strategies corresponding to all the intensity levels are different.
Taking a memory resource in the electronic equipment as an example, dividing the available memory resource in the electronic equipment into N shares based on a first resource allocation strategy, wherein the size of each share of the memory resource is X; dividing available memory resources in the electronic equipment into M shares based on a second resource allocation strategy, wherein the size of each share of memory resources is Y; wherein N is more than M, and X is less than Y.
In the above, the resource (for example, the available memory resource) in the electronic device is divided into multiple parts on average, and in specific implementation, the resource in the electronic device may also be divided unevenly, for example, the multiple parts of the resource obtained by dividing the resource in the electronic device are different in size, or the parts of the resource obtained by dividing the resource in the electronic device are the same in size and different in size.
With respect to step S102b, the specific implementation process of the resource management unit allocating the target resource for the task to be processed based on the resource allocation policy may include: for each type of resource in the electronic equipment, the resource management unit divides each type of resource into at least one sub-resource pool based on the resource allocation strategy; determining that the resource in one of the at least one sub-resource pool is the target resource.
In some embodiments, each type of resource within an electronic device may include branch prediction resources, instruction fetching resources, transcoding resources, renaming resources, arithmetic resources, register resources, and memory resources.
Taking the example that the resource in the electronic device is a branch prediction resource, the resource management unit divides the branch prediction resource into one or more branch prediction sub-resource pools based on the resource allocation policy, and the size of the resource included in each branch prediction sub-resource pool is the same or different. The resource management unit selects one branch prediction sub-resource pool meeting the requirement of the task to be processed from the plurality of branch prediction sub-resource pools, and resources in the selected branch prediction sub-resource pool are target resources for performing branch prediction on the task to be processed.
The above description has been made of a process of determining a target resource for performing branch prediction, taking a branch prediction resource as an example only. In specific implementation, the process of determining the target resource for instruction fetching, decoding, renaming, calculating, storing, accessing, and the like is the same as the process of determining the target resource for branch prediction, and details are not repeated in the embodiments of the present application.
In this embodiment, the resource management unit 101 may be a program installed on the processor; alternatively, the resource management unit may be a hardware component on the processor; alternatively, the resource management unit 101 includes a program installed on the processor and a hardware component within the processor.
In some embodiments, if the resource management unit is a program installed on a processor, the resource allocation method provided in the embodiments of the present application is characterized by being implemented in a software manner; the program installed on the processor may be an application installed on the processor, or may be an applet loaded by an application installed on the electronic device.
During specific implementation, a program installed on a processor determines information of a task to be processed, determines a resource allocation strategy according to the information of the task to be processed, and allocates target resources for the task to be processed based on the resource allocation strategy; and the program installed on the processor sends the target resource to a corresponding hardware component in the electronic equipment, and the hardware component executes the task to be processed based on the target resource.
In other embodiments, if the resource management unit is a hardware component in the processor, the resource allocation method provided in the embodiments of the present application is implemented in a hardware manner.
During specific implementation, a hardware component in the processor determines a resource allocation strategy according to information of the task to be processed, allocates target resources for the task to be processed based on the resource allocation strategy, and executes the task to be processed based on the target resources.
In still other embodiments, if the resource management unit includes a program installed on the processor and a hardware component in the processor, the resource allocation method provided by the embodiments of the present application is implemented in a combination of software and hardware.
In specific implementation, a hardware component in the processor sends information of a task to be processed to a program installed on the processor; the program installed on the processor determines a resource allocation strategy according to the information of the task to be processed, allocates target resources for the task to be processed based on the resource allocation strategy, sends the target resources to corresponding hardware components in the processor, and executes the task to be processed based on the target resources by the hardware components.
Or, in specific implementation, a hardware component in the processor sends information of the task to be processed to a program installed on the processor; and the program installed on the processor determines a resource allocation strategy according to the information of the task to be processed, sends the resource allocation strategy to a corresponding hardware component in the processor, allocates target resources for the task to be processed by the hardware component based on the resource allocation strategy, and executes the task to be processed based on the target resources.
Based on the resource allocation method shown in fig. 3, it can be understood that in the embodiment of the present application, each type of resource included in one electronic device is divided into one resource pool, and the resource required for executing the task to be processed is allocated from the resource pool according to the information of the task to be processed.
In specific implementation, all resources in the electronic device may be located in one resource pool, or all resources in the electronic device may be divided into different resource pools according to types of the resources; resource partitioning schematic diagram in electronic device, as shown in fig. 5: dividing branch prediction resources included in the electronic equipment into a branch prediction resource pool, dividing fetch resources included in the electronic equipment into a fetch resource pool, dividing decoding resources included in the electronic equipment into a decoding resource pool, dividing renaming resources included in the electronic equipment into a renaming resource pool, and dividing execution resources included in the electronic equipment into an execution resource pool; wherein the execution resources may include: one or more of register resources, memory resources, and computational resources. All the resource pools are connected through a connection network; the connection network may be a hardware network based on switch control, or may be any other network, which is not limited in the embodiments of the present application.
In the resource division diagram shown in fig. 5, the resource management unit performs resource management on all resource pools; in a specific implementation, the resource management unit may further include a plurality of resource management sub-units, and each resource management sub-unit performs resource management on different resource pools. As an example, the resource management unit includes a branch prediction resource sub-management unit, an instruction resource sub-management unit, a decode resource sub-management unit, a rename resource sub-management unit, and an execution resource sub-management unit; the branch prediction resource sub-management unit is used for performing resource management on resources in a branch prediction resource pool, the fetch resource sub-management unit is used for performing resource management on the resources in the fetch resource pool, the decoding resource sub-management unit is used for performing resource management on the resources in the decoding resource pool, the renaming resource sub-management unit is used for performing resource management on the resources in the renaming resource pool, and the execution resource sub-management unit is used for managing the resources in the execution resource pool.
For the resource division diagram shown in fig. 5, each resource pool may be divided into a plurality of sub resource pools with the same size as shown in fig. 6 and a plurality of sub resource pools with different sizes as shown in fig. 7 according to different resource allocation policies; the sub resource pools with the same size refer to resources of the same type, and the sizes of the resources included in each sub resource pool are the same; the sub resource pools with different sizes refer to that the sizes of the resources included in the sub resource pools are partially or totally different for the same type of resources. Thus, any two sub-resource pools may include resources of the same or different sizes.
A schematic diagram of dividing the sub-resource pool based on the resource allocation policy shown in fig. 6 and another schematic diagram of dividing the sub-resource pool based on the resource allocation policy shown in fig. 7 are respectively described below.
For fig. 6, each resource pool is divided into sub-resource pools in an organization manner of minimum resources based on a resource allocation policy, and the resource included in each sub-resource pool is the minimum unit of the type of resource; in this way, the maximum number of sub-resource pools can be divided for each resource pool to support the maximum number of processor cores to execute the maximum number of tasks in parallel. As an example, the branch prediction resource pool, the fetch resource pool, the decode resource pool, the rename resource pool and the execution resource pool are all divided according to the minimum unit of resources, the branch prediction resource pool is divided into eight branch prediction sub-resource pools, the fetch resource pool is divided into eight fetch resource sub-resource pools, the decode resource pool is divided into eight decode sub-resource pools, the rename resource pool is divided into eight rename sub-resource pools, and the execution resource pool is divided into eight execution sub-resource pools. Each sub-resource pool may be used for one processor core to execute a task, and the resources shown in fig. 6 may support eight processor cores to execute eight tasks in parallel.
When each resource pool is divided into sub-resource pools, the situation that the number of the sub-resource pools obtained by dividing each resource pool is different may exist; such as: the branch prediction resource pool is divided into eight branch prediction sub-resource pools, the instruction resource pool is divided into six instruction resource sub-resource pools, the decoding resource pool is divided into seven decoding sub-resource pools, the renaming resource pool is divided into eight renaming sub-resource pools, and the execution resource pool is divided into six execution sub-resource pools. Under the scene, five processor cores can be supported to execute six tasks in parallel.
In the embodiment of the application, each resource pool is divided into the sub-resource pools in an organization mode of minimum resources, so that the resources in the electronic equipment can support the maximum number of processor cores to execute tasks in parallel, the task parallel processing capacity is improved, and the performance of the electronic equipment is further improved.
For fig. 7, each resource pool is divided into sub-resource pools in an organization mode with different sizes based on a resource allocation policy, and for the same type of resources, the sizes of the resources included in the sub-resource pools are partially or completely different. Therefore, the processor core is supported to execute the task with strong resource demand aiming at the sub-resource pool with more resources, and the processing efficiency and the processing capacity of the task are improved. As an example, the sub resource pools are divided in an organization mode with different sizes for each of the branch prediction resource pool, the fetch resource pool, the decode resource pool, the rename resource pool and the execution resource pool; taking the branch prediction resource pool as an example, the branch prediction resource pool is divided into five branch prediction sub-resource pools, wherein one part of the five branch prediction sub-resource pools are different in size, and the other part of the five branch prediction sub-resource pools are the same in size; in fig. 7, the size of the first branch prediction sub-resource pool is larger than that of the second branch prediction sub-resource pool, and the sizes of the third branch prediction sub-resource pool, the fourth branch prediction sub-resource pool and the fifth branch prediction sub-resource pool are the same. The first branch prediction sub-resource pool is suitable for tasks with high demand on branch prediction resources; the third branch prediction sub-resource pool, the fourth branch prediction sub-resource pool and the fifth branch prediction sub-resource pool are suitable for tasks with low demand on branch prediction resources; the second pool of branch forecast sub-resources is adapted for tasks with moderate demand for branch forecast resources (between highest and lowest demand for branch forecast resources). The size of the sub-resource pool refers to the number of resources included in the sub-resource pool.
Aiming at one task, a required sub-resource pool can be selected from each resource pool according to the requirement of the task on each type of resource; as an example, a first branch prediction sub-resource pool, a second instruction-fetching sub-resource pool, a second decoding sub-resource pool, a third rename sub-resource pool and a first execution sub-resource pool are allocated for a task to be executed.
In some embodiments, if there are two or more processor cores in the electronic device and there are two or more processor cores simultaneously executing different tasks to be executed, the resource management unit may determine the resource allocation priority according to the resources required by the different tasks to be executed.
In a scenario, for the same type of resource, according to the number of resources required by each task to be executed, determining a resource allocation priority for allocating the type of resource to the task to be executed. Such as: determining that the resource allocation priority for allocating the type of resource to the task to be executed with the largest quantity of required resources is the highest; and determining that the resource allocation priority for allocating the type of resource to the task to be executed with the least amount of required resource is the lowest. If the number of the required resources is large, the requirement that the current task to be executed can be met by more sub-resource pools is represented; if the required resource quantity is small, it means that there are fewer sub-resource pools that can meet the requirements of the current task to be executed, and the resource allocation priority can be set according to the situation, that is, the resource allocation priority is higher if the required resource quantity is small, and the resource allocation priority is lower if the required resource quantity is small.
For example, two tasks to be executed are included, namely a first task to be executed and a second task to be executed. For example, the first to-be-executed task and the second to-be-executed task require a different amount of one type of resource, such as a branch prediction resource. For example, the number of resources of one type required by the first task to be executed is less than the number of resources of one type required by the second task to be executed, in this case, the resource allocation priority is set as: the priority of the first task to be executed is greater than the priority of the second task to be executed.
In another scenario, for the same type of resource, determining a resource allocation priority for allocating the type of resource to the task to be executed according to the number of resources, which can meet the requirement of each task to be executed, in the available resources of the electronic device. Such as: determining that the resource distribution priority of the task to be executed which can meet the maximum required resource quantity in the available resources of the electronic equipment is the lowest; and determining that the resource distribution priority which can meet the task to be executed with the lowest required resource quantity is the highest in the available resources of the electronic equipment. For example, among the available resources of the electronic device, the instruction resources that can satisfy the first task to be executed include instruction resource 1, instruction resource 2, and instruction resource 3; in available resources of the electronic device, the instruction-fetching resources which can meet the second task to be executed only include instruction-fetching resource 1; the resource allocation priority of the second task to be executed is higher than the resource allocation priority of the first task to be executed. And preferentially distributing the instruction-taking resource 1 to the second task to be executed, and then distributing the instruction-taking resource to the first task to be executed from the instruction-taking resource 2 and the instruction-taking resource 3.
In the embodiment of the application, each resource pool is divided into the sub-resource pools in an organization mode with different sizes, so that the resource management unit can allocate required resources to the tasks according to the requirements of the tasks on each type of resources; the problem that resources are wasted or the resources are insufficient to support the processor cores to execute tasks due to the fact that fixed resources are allocated to each processor core in the related technology is solved, the task execution efficiency and the resource utilization rate are improved, and then the performance of the processor is improved.
In the embodiment of the application, each type of resource in a processor is divided into a resource pool, a resource allocation strategy is determined based on the information of a task to be executed, and each resource pool is divided into a plurality of sub resource pools with the same size or different sizes according to the resource allocation strategy; the method and the device can distribute the required resources for the tasks from the plurality of sub-resource pools according to the requirements of the tasks. Therefore, the execution efficiency of the tasks is improved, the utilization rate of resources is improved, and the performance of the processor is improved.
Second, resource recovery
The resource management unit 101 is configured to receive a task ending instruction, determine, based on the task ending instruction, a resource for executing a task corresponding to the task ending instruction, and recycle the resource;
and the resource is distributed to a processor core by the resource management unit according to the information of the task.
In some embodiments, the resource management unit 101 is configured to, in response to that the task is not completely ended, the resource management unit 101 confirms at least one sub-resource corresponding to the task ending instruction;
the resource management unit 101 determines the sub-resources corresponding to the completed pipeline stages in the pipeline corresponding to the task; wherein the at least one sub-resource comprises a sub-resource which is completed in all sub-resources for executing the task. In this scenario, each time a pipeline stage is completed, a task end instruction may be sent, where the task end instruction is used to indicate that the pipeline stage completes or ends an operation, and the resource management unit 101 determines the sub-resources corresponding to the pipeline stage and recovers the sub-resources corresponding to the pipeline stage.
In some embodiments, the resource management unit 101 is configured to, in response to that the task is completely ended, the resource management unit 101 confirms all sub-resources corresponding to the task ending instruction;
the resource management unit 101 determines that all the sub-resources are resources for executing the task corresponding to the task ending instruction; wherein the total sub-resources include total resources to perform the task. In this scenario, a task end instruction is sent only when all pipeline operations corresponding to the task are completed or finished, where the task end instruction is used to indicate that all pipeline operations corresponding to the task are completed or finished, and then the resource management unit 101 determines all sub-resources corresponding to the task end instruction and recovers all sub-resources corresponding to the task.
An optional flow diagram of the resource recycling method provided in the embodiment of the present application is shown in fig. 8.
In step S301, the resource management unit receives a task end instruction.
In some embodiments, the resource management unit receives a task end instruction sent by a processor core; the task ending instruction is used for representing that the tasks executed by the processor cores are completely ended or are not completely ended, and indicating the resource management unit to recycle the resources corresponding to the completed execution pipeline level.
For example, if the task ending instruction represents that all tasks executed by the processor core are ended, the resource management unit is instructed to recycle all resources allocated by the resource management unit; or, if the task ending instruction represents that all tasks executed by the processor core are ended, the resource management unit is instructed to recycle the resources corresponding to the completed execution pipeline level.
The resources (or sub-resources) corresponding to the executed pipeline stage comprise resources (or sub-resources) corresponding to the executed task, which are executed by the processor core in the process of executing the task; for example, the task includes instruction fetching, decoding, executing, accessing and writing back, and after the processor core completes instruction fetching, the resource (or sub-resource) required for executing the instruction fetching is the resource completed by the execution; or after the processor core finishes instruction fetching and decoding, the resources (or sub-resources) required for executing the instruction fetching and the decoding are the resources finished by the execution.
In some embodiments, the resources are allocated to the processor cores by the resource management unit according to the tasks. The process of allocating the processor core by the resource management unit will be described in detail later.
Step S302, the resource management unit determines, based on the task ending instruction, a resource for executing a task corresponding to the task ending instruction.
In some embodiments, in response to that the task is not completely finished, the resource management unit confirms a sub-resource corresponding to a completed pipeline stage in a pipeline corresponding to the task; wherein the sub-resources are partial resources of resources required for executing the task.
In specific implementation, if a task comprises five subtasks, namely instruction fetching, decoding, execution, access and write-back, each subtask corresponds to a pipeline stage; after any one of the five subtasks is executed, the sub-resources of the pipeline level corresponding to the task are recovered. For example, each subtask corresponds to a task end instruction, and after the execution of the subtask is completed, the processor core sends the task end instruction corresponding to the subtask to the resource management unit. The task ending instruction can be periodically sent to the resource management unit by the processor core in the process of executing a task; the processor core may also send the executed subtasks to the resource management unit in the process of executing the task; the task ending instruction may include a progress of the processor core executing the task.
Further, in specific implementation, in response to that the task ending instruction is periodically sent to the resource management unit by the processor core in a process of executing a task, the resource management unit determines, based on the task ending instruction, that the sub-resource corresponding to the execution completion sub-task in the task is the resource for executing the task corresponding to the task ending instruction. For example, the task includes five subtasks, namely instruction fetching, decoding, execution, access and write-back, and the processor core periodically sends the task ending instruction to the resource management unit when the access is completed during execution and not executed; and the resource management unit confirms that the sub-resources required by the value taking, decoding and execution before the access and storage are the resources of the task corresponding to the task ending instruction.
Or, in specific implementation, in response to that the task ending instruction is sent to the resource management unit for a part that is executed and completed by the processor core in a process of executing a task, the resource management unit determines, based on the task ending instruction, that at least one sub-resource that is executed and completed in the task is a resource for executing the task corresponding to the task ending instruction. For example, the task includes instruction fetching, decoding, executing, accessing and writing back, and the processor core sends the task ending instruction to the resource management unit when the accessing is completed; the resource management unit confirms that the sub-resources required by the access and storage are the resources of the task corresponding to the task ending instruction; obviously, the sub-resources required for dereferencing, decoding and executing are recycled through the task ending instruction sent by the processor core after dereferencing, decoding and executing are completed.
In some embodiments, in response to the task being completely finished, the resource management unit confirms all sub-resources corresponding to the task finishing instruction; the resource management unit confirms that all the sub-resources are resources for executing the task corresponding to the task ending instruction; and the all sub-resources comprise sub-resources which are executed in all resources for executing the task.
In specific implementation, the task ending instruction may be periodically sent to the resource management unit by the processor core in the process of executing a task; the processor core may also send the executed part to the resource management unit in the process of executing the task; the processor core can also send the data to the resource management unit after executing all tasks; the task ending instruction may include a progress of the processor core executing the task.
Further, in specific implementation, in response to that the task ending instruction is sent by the processor core in a process of executing a task (including sending periodically or sending after a subtask is executed), the resource management device may temporarily suspend the task ending instruction, and after all subtasks included in the task are finished, confirm that all the sub resources corresponding to the task are resources for executing the task corresponding to the task ending instruction; or, in response to the task ending instruction being sent by the processor core after the task is completely ended, the resource management unit determines that all sub-resources corresponding to the task are resources for executing the task corresponding to the task ending instruction.
Step S303, the resource management unit recovers the resource.
In some embodiments, the resource management unit reclaims the resources such that the reclaimed resources may or may not be allocated when subsequently allocating resources for the processor core.
In some embodiments, the time of resource recovery may also be recorded, and when the interval between the time of resource recovery and the time of next resource allocation is less than a preset interval threshold, the resource is preferentially allocated.
In the embodiment of the application, a resource management unit in a processor receives a task ending instruction sent by a processor core in the electronic equipment; the resource management unit determines to execute the resource of the task corresponding to the task ending instruction based on the task ending instruction; the resource management unit recycles the resource; the resource is distributed to the processor core by the resource management unit according to the task; under the condition that the tasks are completely finished or the subtasks are finished, the resource management unit can recycle the resources (or the sub-resources) which are finished according to the task finishing instruction, so that the resource allocation and execution of other tasks are facilitated, and the resource utilization rate and the task execution efficiency are improved; thereby improving the performance of the processor.
Third, resource state management
The resource management unit 101 is configured to monitor a resource calling condition of the electronic device in a first time interval, and control a state of a resource based on the resource calling condition, where the state of the resource includes a sleep state or an awake state;
wherein the resources in the sleep state can be allocated to the processor core 102, and the resources in the wake state cannot be allocated to the processor core 102.
In some embodiments, the resource management unit 101 is configured to, in response to that the resource calling condition is that a resource is not called, control the state of the resource to be a dormant state.
In some embodiments, the resource management unit 101 is configured to, in response to that a resource in the sleep state satisfies a wake condition, control a state of the resource to be a wake state.
As shown in fig. 9, the optional processing flow diagram of the resource management unit for performing resource state management on a resource provided in the embodiment of the present application may at least include the following steps:
in step S401, the resource management unit monitors a resource calling condition on the electronic device in a first time interval.
The first time interval can be flexibly set according to an application scenario, for example, the first time interval is set to be 1 minute, 5 minutes or 10 minutes. In specific implementation, if the first time interval is too short, the state of the resource is frequently switched between the awakening state and the sleeping state, and the monitoring cost of the resource calling condition is increased; the first time interval is too long, which causes the resource to be idle for a long time and then enters the sleep state, and the energy consumption cannot be effectively saved. Alternatively, a preferred first time interval may be determined based on a plurality of experimental results or models.
In some embodiments, a resource invocation condition refers to whether a resource of an electronic device is invoked or allocated to perform a task within a first time interval.
The resource management unit can monitor the resource calling condition of the electronic equipment in the first time interval in various ways.
For example, at the beginning time of the first time interval, a blank resource call table is created or the original resource call table is emptied; in the process of allocating resources to the processor cores of the execution pipeline, recording the allocated resources in the resource call table; and when the first time interval is over, checking the resource call table, wherein the resource recorded in the resource call table is called resource, and the resource not recorded is non-called resource.
Or, in the original resource management item, setting a flag bit for each resource item, and resetting the flag bit to a value representing 'no call' at the beginning of the first time interval; when the resource is called, the flag bit is set to a value representing 'called'; when the first time interval is over, the flag bit of each resource item is checked, so that whether the resource is called or not can be obtained.
Step S402, controlling the state of the resource based on the resource calling condition; the state of the resource includes a sleep state or an awake state.
In some embodiments, the default state of the resource of the electronic device is a wake state. If the resource is called in the first time interval, controlling the resource to continuously keep an awakening state; and if the resource is not called, controlling the state of the resource to be switched from the awakening state to the sleeping state.
In some embodiments, after the state of the resource is switched to the dormant state, the resource can be controlled to operate in a low-energy-consumption manner, so that the energy consumption of the whole multi-core electronic device is saved.
Some resources that lose some performance or functionality when operating in a low power consumption mode may affect the performance of a processor core if allocated to the processor core for an execution pipeline. To this end, in embodiments of the present application, only resources in the wake state are allocated to the processor core executing the pipeline; while resources in the sleep state are not used for the execution pipeline. Thus, the processing range of resource allocation can be further narrowed, the calculation load of the resource management unit can be reduced, and the resource management efficiency can be improved.
In some embodiments, after the state of the resource is switched to the sleep state, the resource in the sleep state may be further awakened when an awakening condition is satisfied, and the state of the resource is controlled to be switched from the sleep state to the awakened state.
Wherein, the wake-up condition may include: the time length of the resource in the dormant state reaches a set time length threshold; or the resources in the wake-up state do not meet the resources required by the task to be processed.
The resource according to the embodiment of the present application is a resource on one electronic device, and accordingly, the resource allocation is performed on the resource on one electronic device, the resource recovery is performed on the resource on one electronic device, and the resource state management is performed on the resource state of the resource on one electronic device. The resource allocation is to allocate resources to each task or a pipeline corresponding to each task, and the resource recovery is to recover the resources of each task or the resources of the pipeline corresponding to each task.
In the embodiment of the application, the resource management unit in the electronic device controls the resource to enter the dormant state, and controls the resource in the dormant state to run in a low-energy-consumption mode, so that the energy consumption generated by the resource can be reduced, and the performance of the processor is improved.
It should be noted that since the advent of the first general-purpose computer, computer technology has gained rapid growth over decades, and that rapid growth in computer technology has benefited from improvements in computer architecture and advances in computer manufacturing technology. The contribution of computer production technology to the development of computer technology has been stable; however, as the computer architecture has been improved for decades, the space for improving the computer architecture is becoming increasingly narrow, and therefore any small improvement on the computer architecture will have a significant impact on the performance of the processor and the development of computer technology.
An embodiment of the present application further provides an electronic device, where a schematic view of a composition structure of the electronic device 400 is shown in fig. 10, and the electronic device includes: at least one processor 410, memory 450, and bus 440; the various components in electronic device 400 are coupled together by a bus 440. It is understood that bus 440 is used to enable communications among the components. Bus 440 includes a power bus, a control bus, and a status signal bus in addition to a data bus. But for clarity of illustration the various busses are labeled as bus 440 in figure 10.
The Processor 410 may be the Processor shown in fig. 2, and may be an integrated circuit chip having Signal processing capabilities, such as a general purpose Processor, a Digital Signal Processor (DSP), or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or the like, wherein the general purpose Processor may be a microprocessor or any conventional Processor or the like; processor 410 may include at least one processor core.
The memory 450 may be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid state memory, hard disk drives, optical disk drives, and the like. Memory 450 optionally includes one or more storage devices physically located remote from processor 410. The memory 450 may include the resource management unit 101.
In some embodiments, memory 450 is capable of storing data, examples of which include programs, modules, and data structures, or a subset or superset thereof, to support various operations.
In some embodiments, the electronic device 400 may further include:
an operating system 451, including system programs for handling various basic system services and performing hardware-related tasks, such as a framework layer, a core library layer, a driver layer, etc., for implementing various basic services and handling hardware-based tasks;
a network communication module 452 for communicating to other computing devices via one or more (wired or wireless) network interfaces 420, exemplary network interfaces 420 including: bluetooth, wireless fidelity (WiFi), and Universal Serial Bus (USB), among others.
The electronic device provided by the embodiment of the application can be a server or a terminal device.
The server may be an independent physical server, a server cluster or a distributed system formed by a plurality of physical servers, or a cloud server providing cloud computing services. The terminal device may be, but is not limited to, a smart phone, a tablet computer, a notebook computer, a desktop computer, a smart speaker, a smart watch, and the like. The terminal device and the server may be directly or indirectly connected through wired or wireless communication, and the embodiment of the present application is not limited herein.
The above description is only an example of the present application, and is not intended to limit the scope of the present application. Any modification, equivalent replacement, and improvement made within the spirit and scope of the present application are included in the protection scope of the present application.

Claims (18)

1. A processor, comprising: a resource management unit and at least one processor core; the processor core includes at least the following pipeline resources: branch prediction resources, instruction fetching resources, decoding resources, renaming resources and execution resources; the branch prediction resource and the instruction fetching resource, the instruction fetching resource and the decoding resource, the decoding resource and the renaming resource, and the renaming resource and the execution resource are respectively connected through a connection network; the processor core determines the pipeline resources according to the tasks to be processed;
each processor core is used for executing a task to be processed;
the resource management unit is used for carrying out resource management on the resources corresponding to the tasks to be processed;
the resource management includes at least one or more of: resource allocation, resource recovery and resource state management;
and the size of the resource corresponding to the task to be processed is allocated by the resource management unit based on the strength of the resource required by the task to be processed, and the resource is used for executing each pipeline stage of the pipeline.
2. The processor of claim 1, wherein the resource management comprises resource allocation;
the resource management unit is used for determining the intensity of the resources required by the task to be processed and determining target resources for executing the task to be processed based on the intensity of the resources required by the task to be processed.
3. The processor according to claim 2, wherein the resource management unit is configured to determine a resource allocation policy based on a strength of the resource required by the task to be processed;
and distributing target resources for the tasks to be processed based on the resource distribution strategy.
4. The processor according to claim 1, wherein the resource management unit is configured to determine information of the task to be processed;
and determining the intensity of the resources required by the task to be processed based on the information of the task to be processed.
5. The processor according to claim 3, wherein the resource management unit is configured to determine the resource allocation policy as a first resource allocation policy in response to that the strength of the resource required by the task to be processed satisfies a first condition;
determining the resource allocation strategy as a second resource allocation strategy in response to the strength of the resources required by the task to be processed meeting a second condition;
wherein, for the same type of resource, the size of the resource allocated based on the first resource allocation policy is smaller than the size of the resource allocated based on the second resource allocation policy.
6. The processor according to any of claims 3 to 5, wherein the resource management unit is configured to, for each type of resource in an electronic device, divide the each type of resource into at least one sub-resource pool based on the resource allocation policy;
determining that the resource in one of the at least one sub-resource pool is the target resource.
7. The processor according to claim 6, wherein any two of the sub-resource pools comprise resources of the same or different sizes.
8. The processor of claim 6, wherein all types of resources are located in one resource pool;
or, each type of resource is located in a resource pool.
9. The processor of claim 1, wherein the resource management unit is a program installed on the processor;
alternatively, the resource management unit is a hardware component on the processor.
10. The processor of claim 1, wherein the resource management unit comprises a program installed on the processor and a hardware component on the processor.
11. The processor of claim 10, wherein the hardware component is configured to determine information about the task to be processed, and send the information about the task to be processed to the program;
the program is configured to determine the resource allocation policy based on the information of the to-be-processed task, and send the resource allocation policy to the hardware component.
12. The processor of claim 1, wherein the resource management comprises: resource recovery;
the resource management unit is used for receiving a task ending instruction, determining resources for executing a task corresponding to the task ending instruction based on the task ending instruction, and recycling the resources;
and the resource is distributed to a processor core by the resource management unit according to the information of the task.
13. The processor according to claim 12, wherein the resource management unit is configured to, in response to that the task is not completely finished, confirm a sub-resource corresponding to a completed pipeline stage in a pipeline corresponding to the task;
the resource management unit is used for recovering the sub-resources corresponding to the completed pipeline level;
wherein the sub-resources are partial resources of resources required for executing the task.
14. The processor according to claim 12, wherein the resource management unit is configured to, in response to that the task is completely ended, confirm all sub-resources corresponding to the task ending instruction by the resource management unit;
the resource management unit is used for confirming that all the sub-resources are resources for executing the task corresponding to the task ending instruction;
wherein the total sub-resources include total resources to perform the task.
15. The processor of claim 1, wherein the resource management comprises resource state management;
the resource management unit is used for monitoring the resource calling condition of the electronic equipment in a first time interval and controlling the state of the resource based on the resource calling condition, wherein the state of the resource comprises a dormant state or an awakening state;
wherein the resources in the sleep state can be allocated to a processor core, and the resources in the wake state cannot be allocated to a processor core.
16. The processor according to claim 15, wherein the resource management unit is configured to control the state of the resource to be a sleep state in response to the resource calling condition being that the resource is not called.
17. The processor according to claim 16, wherein the resource management unit is configured to control the state of the resource to be in an awake state in response to the resource in the sleep state satisfying an awake condition.
18. An electronic device, characterized in that the electronic device comprises: the processor of any one of claims 1 to 17 and a memory, bus;
the memory stores executable instructions;
the processor and the memory communicate through the bus.
CN202210260717.4A 2022-03-17 2022-03-17 Processor and electronic equipment Active CN114356586B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210260717.4A CN114356586B (en) 2022-03-17 2022-03-17 Processor and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210260717.4A CN114356586B (en) 2022-03-17 2022-03-17 Processor and electronic equipment

Publications (2)

Publication Number Publication Date
CN114356586A CN114356586A (en) 2022-04-15
CN114356586B true CN114356586B (en) 2022-09-02

Family

ID=81094582

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210260717.4A Active CN114356586B (en) 2022-03-17 2022-03-17 Processor and electronic equipment

Country Status (1)

Country Link
CN (1) CN114356586B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111190739A (en) * 2019-12-31 2020-05-22 西安翔腾微电子科技有限公司 Resource allocation method and device, electronic equipment and storage medium
CN111722928A (en) * 2020-06-12 2020-09-29 北京字节跳动网络技术有限公司 Resource scheduling method and device, electronic equipment and storage medium
CN112269659A (en) * 2020-10-23 2021-01-26 苏州浪潮智能科技有限公司 Resource management method, system, electronic equipment and storage medium

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103699440B (en) * 2012-09-27 2017-05-24 北京搜狐新媒体信息技术有限公司 Method and device for cloud computing platform system to distribute resources to task
CN104252390B (en) * 2013-06-28 2018-08-14 华为技术有限公司 Resource regulating method, device and system
CN108519917B (en) * 2018-02-24 2023-04-07 国家计算机网络与信息安全管理中心 Resource pool allocation method and device
CN112148465A (en) * 2019-06-26 2020-12-29 维塔科技(北京)有限公司 Resource allocation method and device, electronic equipment and storage medium
CN111600643A (en) * 2020-04-09 2020-08-28 中国电子科技集团公司电子科学研究院 Satellite communication resource scheduling method and device storage medium
CN112698943A (en) * 2020-12-29 2021-04-23 北京顺达同行科技有限公司 Resource allocation method, device, computer equipment and storage medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111190739A (en) * 2019-12-31 2020-05-22 西安翔腾微电子科技有限公司 Resource allocation method and device, electronic equipment and storage medium
CN111722928A (en) * 2020-06-12 2020-09-29 北京字节跳动网络技术有限公司 Resource scheduling method and device, electronic equipment and storage medium
CN112269659A (en) * 2020-10-23 2021-01-26 苏州浪潮智能科技有限公司 Resource management method, system, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN114356586A (en) 2022-04-15

Similar Documents

Publication Publication Date Title
EP3155521B1 (en) Systems and methods of managing processor device power consumption
EP3245587B1 (en) Systems and methods for providing dynamic cache extension in a multi-cluster heterogeneous processor architecture
US7689838B2 (en) Method and apparatus for providing for detecting processor state transitions
US20170024316A1 (en) Systems and methods for scheduling tasks in a heterogeneous processor cluster architecture using cache demand monitoring
US20100138571A1 (en) Method and system for a sharing buffer
US9858115B2 (en) Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core processor system and related non-transitory computer readable medium
JP2018534676A (en) A method for efficient task scheduling in the presence of contention
DE102013104329A1 (en) Assignment of tasks in large and small cores
US10496149B2 (en) Method of operating CPU and method of operating system having the CPU
WO2012016472A1 (en) Method and system for loading linux operating system in multicore central processing unit (cpu)
JP2018500639A (en) System and method for reducing standby power of volatile memory in portable computing devices
CN114968373A (en) Instruction dispatching method and device, electronic equipment and computer readable storage medium
CN115981685A (en) Application upgrading method and device, computing equipment and chip system
CN114610494A (en) Resource allocation method, electronic device and computer-readable storage medium
CN114356586B (en) Processor and electronic equipment
CN114610578B (en) Resource state management method and device, electronic equipment and storage medium
WO2014188642A1 (en) Scheduling system, scheduling method, and recording medium
CN102609306B (en) Method for processing video processing tasks by aid of multi-core processing chip and system using method
CN112654965A (en) External paging and swapping of dynamic modules
CN115587049A (en) Memory recovery method and device, electronic equipment and storage medium
CN114625537A (en) Resource allocation method, electronic device and computer-readable storage medium
CN114610495A (en) Resource management method, electronic device, and computer-readable storage medium
JP2014078214A (en) Schedule system, schedule method, schedule program, and operating system
US11144322B2 (en) Code and data sharing among multiple independent processors
CN115220908A (en) Resource scheduling method, device, electronic equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant