De volta à névoa do tempo em que comecei a codificar, pelo menos até onde sei, todos os processadores usavam uma quantidade fixa de energia. Não havia um processador "ocioso".
Atualmente, existem todos os tipos de tecnologias para reduzir o uso de energia quando o processador não está muito ocupado, principalmente reduzindo dinamicamente a taxa de clock.
Minha pergunta é por que rodar com uma freqüência menor usa menos energia?
Minha imagem mental de um processador é de uma tensão de referência (digamos 5V) representando 1 binário e 0V representando 0. Portanto, eu tendem a pensar em um 5V constante sendo aplicado em todo o chip, com os vários portões lógicos desconectando essa tensão quando "off", significando que uma quantidade constante de energia está sendo usada. A taxa na qual esses portões são ligados e desligados parece não ter relação com a energia utilizada.
Não tenho dúvida de que essa é uma imagem irremediavelmente ingênua, mas não sou engenheiro elétrico. Alguém pode explicar o que realmente está acontecendo com a escala de frequência e como isso economiza energia. Existem outras maneiras pelas quais um processador usa mais ou menos energia, dependendo do estado? Por exemplo, usa mais energia se mais portões estiverem abertos?
Qual a diferença entre os processadores móveis / de baixa potência e os primos de desktop? Eles são apenas mais simples (menos transistores?), Ou há alguma outra diferença fundamental de design?
Respostas:
É aqui que você está errado. Basicamente, cada porta é um capacitor com uma capacitância incrivelmente pequena. Ligá-lo e desligá-lo "conectando" e "desconectando" a tensão move uma carga elétrica incrivelmente pequena para dentro ou para fora do portão - é isso que a faz agir de maneira diferente.
E uma carga elétrica em movimento é uma corrente que consome energia. Todas aquelas correntes minúsculas de bilhões de portões trocadas bilhões de vezes por segundo se somam bastante.
fonte
Como o comentário da SK-logic aponta, a maior parte da energia é realmente gasta na troca de flip-flop, em vez de um estado estável.
Para reduzir dinamicamente, há duas coisas principais que você pode fazer com o IIRC.
se áreas inteiras de um chip não estiverem sendo sincronizadas, é possível desligar a energia dessas áreas completamente
A árvore do relógio em si é um dos maiores drenos de energia do sistema, principalmente por ser a parte de troca mais rápida de um sistema. Portanto, reduzir a energia na árvore do relógio é significativo.
fonte
A energia consumida por um circuito eletrônico possui dois componentes:
Para reduzir o consumo, os designers de processadores usam várias técnicas:
Essas técnicas resultam em que, dependendo da sua carga, você pode se beneficiar melhor do ponto de vista do consumo de energia, reduzindo a frequência ou fazendo um "sprint" a toda velocidade e, em seguida, cortando um subconjunto dos circuitos.
fonte
A execução a uma freqüência mais baixa não afeta a energia necessária para executar uma tarefa fixa. Pode até aumentar a energia necessária se você considerar vazamentos e conseguir desligar completamente.
Onde uma taxa de clock mais baixa economiza energia, também é possível reduzir a tensão operacional. A redução da tensão geralmente economiza energia suficiente para compensar a necessidade de permanecer ativo por mais tempo.
fonte