A method and apparatus for a compiler, or similar computer language
translating device, to translate a computer language into a sequence of
electronic instructions to be executed at run-time by at least one
functional unit in a computer. At compile time, the compiler creates and
analyzes the sequential order of the electronic instructions to determine
exact moments when the functional unit will begin to, or complete,
executing the electronic instructions. Consequently, the compiler can
predict time intervals when the functional unit will be in use, or idling
between instructions. In addition, the compiler knows the delay time, or
latency, involved in powering up and powering down the functional unit.
The compiler compares the use times, or idle times, to the latency, and
creates power-controlling instructions to be embedded into the sequence of
electronic instructions. The power-controlling instructions are to control
power to the functional units at run-time.
Um método e um instrumento para um compilador, ou uma língua de computador similar traduzindo o dispositivo, para traduzir uma língua de computador em uma seqüência de instruções eletrônicas para ser executado no run-time ao menos por uma unidade funcional em um computador. Em compile o tempo, o compilador cría e analisa a ordem seqüencial das instruções eletrônicas para determinar momentos exatos quando a unidade funcional começará a, ou para terminá-los, executando as instruções eletrônicas. Conseqüentemente, o compilador pode predizer intervalos do tempo quando a unidade funcional estará no uso, ou rodar em marcha lenta entre instruções. Além, o compilador sabe que atrasa o tempo, ou a latência, envolvida em powering acima e em powering abaixo a unidade funcional. O compilador compara os tempos do uso, ou o idle cronometra, à latência, e cría instruções poder-controlando para ser encaixado na seqüência de instruções eletrônicas. As instruções poder-controlando devem controlar o poder às unidades funcionais no run-time.