US2005114850A1PendingUtilityA1

Energy-focused re-compilation of executables and hardware mechanisms based on compiler-architecture interaction and compiler-inserted control

Priority: Oct 29, 2003Filed: Oct 18, 2004Published: May 26, 2005
Est. expiryOct 29, 2023(expired)· nominal 20-yr term from priority
G06F 9/30083G06F 8/4432Y02D10/00
46
PatentIndex Score
0
Cited by
0
References
0
Claims

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.

Claims

exact text as granted — not AI-modified
1 . A method, for use in a processor context, comprising of: 
 analyzing a program executable at compile time;    creating an intermediate program representation of the executable;    analyzing the intermediate representation;    performing a transformation on the intermediate representation such that a design objective is optimized;    generating optimized program executable from the intermediate representation;    
   
   
       2 . The method of  claim 1 , further comprising of transforming an executable to reduce energy consumption in a processor.  
   
   
       3 . The method of  claim 1 , further comprising of transforming an executable to improve performance in a processor.  
   
   
       4 . The method of  claim 1 , further comprising of incorporating information related to energy consumption into an intermediate program representation of an executable.  
   
   
       5 . The method of  claim 2 , wherein an instruction sequence of one or more instructions is replaced with another instruction sequence of one or more instructions to reduce energy.  
   
   
       6 . A method, for use in an application or processor context, comprising of: 
 analyzing a program executable at compile time;    creating an intermediate program representation of the executable;    analyzing the intermediate representation;    estimating energy consumption in a processor for an instruction sequence of one or more instructions in an application.    
   
   
       7 . The method of  claim 6 , further comprising of generating an output to visualize energy consumption in an application component.  
   
   
       8 . The method of  claim 6 , further comprising of identifying an instruction sequence of one or more instructions most likely to contribute significantly to energy consumption.  
   
   
       9 . The method of  claim 6 , further comprising of: 
 obtaining runtime statistics about an application and its activity in a processor through simulation;    combining simulation information and compile-time information to obtain energy estimations of one or more instructions.    
   
   
       10 . A method wherein: 
 control information is added at compile time related to execution of a sequence of instructions, of one or more instructions, and controlling plural architectural components during execution;    control information related to a sequence of instructions, of one or more instructions, encoded into a processor instruction.    
   
   
       11 . The method of  claim 10  wherein a control information is inserted targeting energy reduction in a processor.  
   
   
       12 . The method of  claim 10  wherein control information is encoded into an instruction part of an instruction set architecture.  
   
   
       13 . The method of  claim 10  wherein control information is encoded into a coprocessor instruction.  
   
   
       14 . A processor framework of  claim 10  wherein control instructions are inserted for selected instruction sequences and removed at runtime before entering a processor pipeline.  
   
   
       15 . The method of  claim 10  wherein control information is inserted as program data.  
   
   
       16 . A method wherein control information inserted at compile time comprises of: 
 which instructions in an instruction sequence are to be issued in parallel at runtime;    additional information related to one or more of the following aspects: 
 which instruction memory structure an instruction sequence should be fetched from,  
 length of the instruction sequence,  
 branch prediction mechanism, and  
 data memory access mechanism.  
   
   
   
       17 . A processor framework of  claim 10  comprising of a compiler-encoded instruction-level parallelism approach wherein instructions in a sequence of instructions are issued in parallel at runtime on compile-time selected blocks of instructions.  
   
   
       18 . A method of  claim 16  wherein coprocessor instructions encode instruction level parallelism.  
   
   
       19 . A method, wherein control information is inserted at compile time to determine explicitly which instruction memory structure an instruction sequence should be fetched from.  
   
   
       20 . The processor framework of  claim 19  comprised of: 
 one or more Hotblock instruction memory structures exposed to the compiler;    a first level memory structure exposed and controlled by a compiler;    
   
   
       21 . An electronics system that implements  claim 20 .  
   
   
       22 . A processor framework of  claim 20  where leakage energy reduction is optimized in a memory structure during a time a Hotblock structure is active.

Join the waitlist — get patent alerts

Track US2005114850A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.