1. A method comprising: generating an information vector per each cache line of an instruction cache, the instruction cache including a plurality of cache lines, the information vector including a plurality of fields, each field associated with a corresponding functional unit; determining a value of a use counter represented by at least two or more bits, the use counter associated with a functional unit as indicating that the functional unit is needed to execute at least one software instruction stored within the instruction cache; initiating a power increase for the functional unit from a first power level to a second power level, based upon the value; retrieving the at least one software instruction from the instruction cache; decoding the retrieved software instruction; and sending the decoded instruction to functional units indicated by the information vector for execution.