Por que os processadores que trabalham mais usam mais energia elétrica?

16

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?


fonte
8
Você está errado, os processadores nunca usaram a mesma quantidade de energia ao longo do tempo, sempre foi variável. Simplificando as coisas de maneira significativa, pode-se supor que o poder seja gasto apenas na troca de um único valor de flip-flop. Portanto, quanto mais a computação é realizada por segundo, mais registros internos alteram seus valores, mais energia é gasta.
2
Se bem me lembro dos meus eletrônicos, a maior parte da energia "desperdiçada" (também conhecida como "calor") é de vazamento (também conhecida como (pequenas) quantidades de corrente que flui onde nenhum fluxo deve ocorrer). Isso acontece mais quando você está.) Usando uma tensão mais alta eb.) Alternando em frequências mais altas. A maioria dos processadores modernos reduzir tanto a tensão e a frequência em seus estados de baixa energia (e mesmo se eles reduzem apenas um desses, é ainda um ganho).
3
@ SK-logic: Muitos processadores históricos usam a lógica ECL, que consome aproximadamente a mesma quantidade de energia, independentemente da taxa de clock. Seymour Cray projetou o CDC 8600, o Cray-1, o Cray X-MP, o Cray Y-MP, o Cray T90 para usar ECL. O artigo de lógica ECL da Wikipedia lista mais algumas de outras empresas. Você está dizendo que essas máquinas nunca existiram ou está dizendo que elas não contam como processadores?
Davidcary
Os processadores também economizam energia usando uma instrução de parada. O kernel do sistema operacional pode definir um cronômetro para ativar o processador e executar essa instrução para adormecer o processador.
Oskar Skog

Respostas:

24

A taxa na qual esses portões são ligados e desligados parece não ter relação com a energia utilizada.

É 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.

Michael Borgwardt
fonte
É isso que está acontecendo na memória - memória DRAM. A memória do processador (o cache) usa SRAM que não é implementada com capacitores ...
7
@ m3th0dman: Não estou falando de elementos destinados a serem capacitores. Todo transistor, todo elemento dentro da CPU tem uma capacitância.
7

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.

  1. se áreas inteiras de um chip não estiverem sendo sincronizadas, é possível desligar a energia dessas áreas completamente

  2. 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.

jk.
fonte
O que é a árvore do relógio?
akaltar 9/09/16
2
@akaltar o total de todas as linhas que distribuem o sinal do relógio para todos os elementos do processador que precisam ser sincronizados com o relógio.
Michael Borgwardt
6

A energia consumida por um circuito eletrônico possui dois componentes:

  • o vazamento, que é mais ou menos independente da constante de frequência e dependerá da tecnologia e da tensão de trabalho;
  • a potência de comutação, que depende da frequência (é devido ao carregamento e descarregamento de várias capacitâncias, transistores e fios)

Para reduzir o consumo, os designers de processadores usam várias técnicas:

  • modificar a frequência dependendo da carga (isso só funcionará na potência de comutação)
  • reduzindo a energia ou mesmo desligando partes dos circuitos quando eles não são necessários

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.

AProgrammer
fonte
Também é possível que a redução da frequência permita reduzir a tensão operacional (porque os transistores são um pouco mais lentos) para reduzir o vazamento.
TEMLIB 9/09/16
0

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.

Sean Houlihane
fonte
Eu não concordo Sean. A redução da taxa de clock reduz todas as perdas de comutação parasitas envolvidas em toda a cadeia de clock, que é massiva em uma CPU típica. Runs meu netbook Atom de 1 GHz, se eu estrangular o CPU até 500 MHz que corre mais frias e visivelmente consome menos energia a partir da fonte, e ele faz afeta a tarefa - que leva o dobro do tempo para ser concluído.
Rdtsc 09/09/19
2
@rdtsc Cuidado agora. Sean escreve energia , não poder .
pipe
@rdtsc Você está confundindo poder e energia. De primeira ordem, uma tarefa específica exigirá um número fixo de ciclos de clock. Pense em como uma bateria responderá à sua tarefa nos dois pontos operacionais diferentes.
Sean Houlihane
Ah sim. Ainda trabalhando na primeira xícara de café aqui. :) Eu teria que medir isso, mas acho que a energia usada será realmente um pouco mais com uma taxa de clock mais baixa, uma vez que uma CPU moderna tem tantos eventos periódicos para processar por segundo. Haverá mais delas para um relógio mais lento e mais significa um tempo maior para a conclusão da tarefa.
Rdtsc 9/09/16
Algumas relacionadas leitura de fundo anandtech.com/show/9330/exynos-7420-deep-dive/6
Sean Houlihane