Por que um processo 'inativo' não gera (muito) calor?

3

Pelo que entendi, uma CPU em execução nunca pode realmente estar fazendo nada. Mesmo se não houver nenhum 'job' ativo sendo executado, sempre haverá um 'processo ocioso' em execução, para manter a CPU 'rodando'.

Então, minha pergunta é: por que esse processo inativo não gera muito calor, como acontece com outros processos? Por que todas as CPUs / GPUs nem sempre estão em sua temperatura máxima de funcionamento (depois de serem inicializadas)?

    
por Time4Tea 05.12.2017 / 15:27

2 respostas

3

O processo ocioso usa uma instrução halt, que a maioria das CPUs possui exatamente para essa finalidade.

Quando parado, a CPU não roda, mas espera por uma interrupção que irá iniciar a execução novamente.

Nos processadores Intel, este link detalha a instrução HLT .

    
por 05.12.2017 / 15:59
1

As CPUs / GPUs atuais são (ainda) criadas com base no CMOS . Uma parte significativa do consumo de energia nos circuitos CMOS é causada por sinais digitais que alteram seus valores (consumo de energia "dinâmico").

O "processo inativo" tenta reduzir as mudanças de sinal tanto quanto possível, isto é, executando continuamente a mesma instrução - tipicamente chamada de não operação (NOP). Como resultado, a CPU / GPU consome menos energia.

Além disso, a CPU / GPU detecta que está realmente fazendo "muito pouco" se apenas as instruções do NOP forem executadas. Assim, o clock da CPU é acelerado e, para partes da CPU / GPU, o sinal de clock pode ser desligado ("clock gating") e / ou a tensão de alimentação dessas peças pode ser reduzida ou pode ser reduzida a 0.

A última medida também reduz o consumo de energia "estática" ("vazamento") de circuitos CMOS, o que aumenta com tamanhos de recursos CMOS menores e níveis mais baixos de tensão de alimentação nominal.

    
por 05.12.2017 / 16:10

Tags