Energy-focused re-compilation of executables and hardware mechanisms based on compiler-architecture interaction and compiler-inserted control
First Claim
Patent Images
1. A method, comprising:
- inputting source files into a source-level compiler to obtain a binary executable;
analyzing a representation of the binary executable to identify information relating to micro-operations of components of a microprocessor;
responsive to analyzing the representation of the binary executable to identify the information relating to the micro-operations of the components of the microprocessor, generating control information comprising instructions that contain data that renders unnecessary at least one of the micro-operations;
transforming the representation of the binary executable obtained from the source-level compiler into a binary executable that is different than the binary executable obtained from the source-level compiler, the transformation including combining the generated control information with at least one of instructions of the representation of the binary executable; and
predicting inactive periods of resources in the microprocessor using static information produced through a compilation of a computer program;
wherein the control information is configured to;
control the resources during the inactive periods so as to reduce energy consumption of the resources during the inactive periods;
reduce an amount of voltage supplied to the resources during the inactive periods relative to an amount of voltage supplied to the resources during active periods of the resources; and
precharge a cache of the resources to reduce leakage in bitlines associated with the cache.
2 Assignments
0 Petitions
Accused Products
Abstract
A method comprising of analyzing and transforming a program executable at compile-time such that a processor design objective is optimized. A method including analyzing an executable to estimate energy consumption of an application component in a processor. A method including transforming an executable to reduce energy consumption in a processor. A processor framework controlled by compiler inserted control that statically exposes parallelism in an instruction sequence. A processor framework to reduce energy consumption in an instruction memory system with compiler inserted control.
-
Citations
20 Claims
-
1. A method, comprising:
-
inputting source files into a source-level compiler to obtain a binary executable; analyzing a representation of the binary executable to identify information relating to micro-operations of components of a microprocessor; responsive to analyzing the representation of the binary executable to identify the information relating to the micro-operations of the components of the microprocessor, generating control information comprising instructions that contain data that renders unnecessary at least one of the micro-operations; transforming the representation of the binary executable obtained from the source-level compiler into a binary executable that is different than the binary executable obtained from the source-level compiler, the transformation including combining the generated control information with at least one of instructions of the representation of the binary executable; and predicting inactive periods of resources in the microprocessor using static information produced through a compilation of a computer program; wherein the control information is configured to; control the resources during the inactive periods so as to reduce energy consumption of the resources during the inactive periods; reduce an amount of voltage supplied to the resources during the inactive periods relative to an amount of voltage supplied to the resources during active periods of the resources; and precharge a cache of the resources to reduce leakage in bitlines associated with the cache. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A memory device having instructions stored thereon that, in response to execution by a processing device, cause the processing device to perform operations comprising:
-
analyzing a representation of a first binary executable to identify information relating to micro-operations of components of a microprocessor; responsive to analyzing the representation of the first binary executable to identify the information relating to the micro-operations of the components of the microprocessor, generating control information comprising instructions that contain data that renders unnecessary at least one of the micro-operations; transforming the representation of the first binary executable into a second binary executable that is different than the first binary executable, the transformation including combining the generated control information with at least one of instructions of the representation of the first binary executable; and predicting inactive periods of resources in the microprocessor using static information produced through a compilation of a computer program; wherein the control information is configured to; control the resources during the inactive periods so as to reduce energy consumption of the resources during the inactive periods; reduce an amount of voltage supplied to the resources during the inactive periods relative to an amount of voltage supplied to the resources during active periods of the resources; and precharge a cache of the resources to reduce leakage in bitlines associated with the cache. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification