Binary translation and task dispatching for asymmetric multicore processors
AssigneeMediatek Inc.
InventorBor-Yeh Shen
Life of this patent
Estimating the term…
Abstract
A computing device receives an application start request for an application through a dispatching service. The computing device determines whether the application uses a first instruction set architecture (ISA) or a second ISA using the dispatching service. The computing device determines whether the application is compute-bound or non-compute-bound in response to determining that the application uses the second ISA. The computing device performs binary translation to convert instructions based on the second ISA from the application to instructions based on the first ISA in response to determining that the application is compute-bound. The computing device executes the instructions based on the first ISA on one or more cores supporting the first ISA.
Claims20
A method of operation of a computing device, comprising:
- receiving, by a dispatching service, an application start request for an application;
- determining, by the dispatching service, whether the application uses a first instruction set architecture (ISA) or a second ISA;
- in response to determining that the application uses the second ISA, determining whether the application is compute-bound or non-compute-bound;
- in response to determining that the application is compute-bound, performing binary translation to convert instructions based on the second ISA from the application to instructions based on the first ISA;
- and
- executing the instructions based on the first ISA on one or more cores supporting the first ISA.
A computing device, comprising:
- one or more processors;
- and
- memory storing instructions that, when executed by the one or more processors, cause the computing device to:
- receive, by a dispatching service, an application start request for an application;
- determine, by the dispatching service, whether the application uses a first instruction set architecture (ISA) or a second ISA;
- in response to determining that the application uses the second ISA, determine whether the application is compute-bound or non-compute-bound;
- in response to determining that the application is compute-bound, perform binary translation to convert instructions based on the second ISA from the application to instructions based on the first ISA;
- and
- execute the instructions based on the first ISA on one or more cores supporting the first ISA.
A computer-readable medium storing computer executable code for operation of a computing device, comprising code to:
- receive, by a dispatching service, an application start request for an application;
- determine, by the dispatching service, whether the application uses a first instruction set architecture (ISA) or a second ISA;
- in response to determining that the application uses the second ISA, determine whether the application is compute-bound or non-compute-bound;
- in response to determining that the application is compute-bound, perform binary translation to convert instructions based on the second ISA from the application to instructions based on the first ISA;
- and
- execute the instructions based on the first ISA on one or more cores supporting the first ISA.
Dependencies are inferred from the claim text.