Tudo o Que Você Precisa Saber Sobre os Modos de Economia de Energia (Estados C) do Processador
Por Gabriel Torres e Cássio Lima em 09 de setembro de 2008
Introdução
De modo a economizar energia os processadores podem ser comandados para entrarem em um modo de baixo consumo de energia quando estão ociosos. Cada processador tem vários modos de economia de energia, coletivamente chamados “Estados C” ou “Modos C”. Neste tutorial explicaremos o que são esses modos, o que eles fazem e os modos suportados por cada processador.
Os modos de baixo consumo de energia foram introduzidos no processador 486DX4. Portanto, este conceito está longe de ser novo. Com o tempo, no entanto, mais modos de economia de energia foram criados e melhoramentos foram feitos em cada modo existente para permitir que o processador consumisse ainda menos energia quando estivesse em um desses modos.
A idéia básica por trás desses modos é cortar o sinal de clock e a alimentação de certas partes ociosas dentro do processador. Quanto mais partes ociosas você parar (cortando o sinal de clock), reduzir a tensão de alimentação ou até mesmo completamente desligar, mais energia você economizará. Em contrapartida, mais tempo será necessário para o processador “acordar” e voltar a ficar 100% operacional.
Esses modos são conhecidos como “Estados C”. Eles são numerados começando em C0, que é o modo de operação normal do processador. Neste modo o processador está 100% ligado. Quanto maior o número associado à letra “C”, maior é o grau de desligamento do processador, ou seja, mais circuitos e sinais são desligados e mais tempo o processador levará para voltar para o modo C0, ou seja, “acordar”.
Cada modo é também conhecido por um nome e vários deles têm sub-modos com diferentes níveis de economia de energia – e conseqüentemente tempos de religamento.
Na tabela abaixo nós resumimos todos os modos Estado C atualmente disponíveis. Os modos C1 a C3 funcionam basicamente cortando os sinais de clock usados dentro do processador, enquanto que os modos C4 a C6 funcionam reduzindo a tensão de alimentação do processador. Os modos “Enhanced” ou “Aprimorados” podem desempenhar as duas funções ao mesmo tempo.
Modo
Nome
O que ele faz
Processadores
C0
Estado de operação
O processador está totalmente ligado.
Todos
C1
Parar (Halt)
Todos os principais sinais de clocks internos do processador são desativados via software; a unidade de interface com o barramento e o controlador de interrupções programável (APIC) continuam funcionando normalmente.
486DX4 e superiores.
C1E
Parar Aprimorado (Enhanced Halt)
Todos os principais sinais de clocks internos do processador são desativados via software e a tensão de alimentação do processador é reduzida; a unidade de interface com o barramento e o controlador de interrupções programável (APIC) continuam funcionando normalmente.
Todos os processadores soquete 775.
C1E
—
Todos os sinais de clock internos do processador são desativados.
Turion 64, Athlon X2 de 65 nm e Phenom.
C2
Conceder Parada (Stop Grant)
Todos os principais sinais de clock internos do processador são desativados via hardware; a unidade de interface com o barramento e o controlador de interrupções programável (APIC) continuam funcionando normalmente.
486DX4 e superiores.
C2
Parar Clock (Stop Clock)
Todos os sinais de clock internos e externos do processador são desativados via hardware.
Apenas 486DX4, Pentium, Pentium MMX, K5, K6, K6-2, K6-III.
C2E
Conceder Parada Aprimorado
(Stop Grant Enhanced)
Todos os principais sinais de clock internos do processador são desativados via hardware e a tensão de alimentação do processador é reduzida; a unidade de interface com o barramento e o controlador de interrupções programável (APIC) continuam funcionando normalmente.
Core 2 Duo e superiores (apenas processadores Intel)
C3
Sono (Sleep)
Todos os sinais de clock internos do processador são desativados.
Pentium II, Athlon e superiores, exceto o Core 2 Duo séries E4000 e E6000.
C3
Sono Profundo (Deep Sleep)
Todos os sinais de clock internos e externos do processador são desativados.
Processadores Pentium II e superiores, exceto o Core 2 Duo séries E4000 e E6000; Turion 64.
C3
AltVID
Todos os sinais de clock internos do processador são desativados e sua tensão de alimentação é reduzida.
Turion 64
C4
Sono Mais Profundo (Deeper Sleep)
Reduz a tensão de alimentação do processador.
Pentium M e superiores, exceto o Core 2 Duo séries E4000 e E6000; Turion 64.
C4E/C5
Sono Mais Profundo Aprimorado (Enhanced Deeper Sleep)
Reduz a tensão de alimentação do processador ainda mais e desliga o cache de memória.
Core Solo, Core Duo e processadores Core 2 Duo de 45 nm para notebooks, somente.
C6
Desligamento Profundo (Deep Power Down)
Reduz a tensão de alimentação interna do processador para qualquer valor, incluindo 0 V.
Apenas Core 2 Duo de 45 nm para notebooks.
Agora explicaremos cada Estado C em detalhes.
Estado C1
Todos os processadores x86 têm uma instrução chamada “HLT” (“Halt” ou “Parar”), onde o processador fica “parado”, ocioso, sem fazer nada quando esta instrução é executada. O processador volta a funcionar após receber uma interrupção, que é um sinal de hardware que diz ao processador para parar o que está fazendo no momento e atender à solicitação do dispositivo de hardware que o interrompeu.
Como no modo “Parar” o processador está completamente ocioso, a Intel decidiu que seria uma excelente oportunidade para reduzir o consumo de energia do processador e por isso eles adicionaram o modo “Parar” ou “Parar Automático” (“Auto Halt”) – agora conhecido como o estado C1 – a partir do processador 486DX4. Todos os processadores após o 486DX4 da Intel e da AMD implementam este modo, e também a versão “SL Enhanced” do 486DX2.
Portanto após o programa executar uma instrução HLT, o processador entra em seu tradicional modo Parar, mas agora o clock interno do processador é desativado (apenas duas unidades dentro do processador continuam sendo alimentadas com o clock interno do processador: a unidade de interface com o barramento e o controlador de interrupções programável, APIC; isto é feito para permitir ao processador temporariamente sair do estado Parar se uma requisição importante vier do barramento externo do processador). Assim que o processador recebe um sinal de interrupção ele volta para o seu estado de operação normal, com o sinal de clock sendo reativado.
Como o sinal de clock é desativado em praticamente todas as unidades internas do processador, essas unidades também param de funcionar e conseqüentemente o consumo de energia do processador é reduzido.
O interessante é que nenhuma programação especial é necessária para o processador entrar no estado C1, já que a instrução HLT está presente desde o primeiro processador 8086. Antes do 486DX4 a instrução HLT era usada basicamente para parar o processador e fazer com que ele aguardasse por uma interrupção. Após este processador, os programadores puderam usar este modo para colocar o processador em um estado que consumisse menos energia.
Como mencionamos, o processador pode temporariamente deixar o estado Parar (C1) para tratar uma requisição importante proveniente do barramento externo do processador. Este recurso é chamado Estado “Clock Snoop”, Estado “HALT/Grant Snoop” ou simplemente Estado “Snoop” (literalmente “Bisbilhoteiro”) e durante sua duração o clock do processador é restaurado. Após o processador ter processado a requisição, ele volta automaticamente para o estado Parado (C1).
Todos os processadores Intel baseados no soquete 775 (Pentium 4 e Core 2 Duo, por exemplo) têm um estado Parar Avançado chamado “Enhanced Halt” (nome usado com os processadores Pentium 4) ou “Extended Halt” (“Parar Estendido”, nome usado com os processadores Core 2 Duo) ou simplesmente C1E, que também reduz a tensão de alimentação do processador além de desativar o clock interno do processador. Se este modo estiver habilitado no BIOS da placa-mãe o processador entrará neste modo em vez do tradicional modo Parado (C1) quando uma instrução HLT é executada. Caso contrário o processador continuará no modo padrão Parado.
O Core 2 Duo também introduziu o estado “Extended Halt/Stop Grant Snoop”, que permite ao processador temporariamente sair dos modos C1E ou C2E para responder a uma requisição importante proveniente do barramento externo, mas mantendo a tensão de alimentação do processador mais baixa em vez de restaurar a alimentação total do processador.
Preste atenção porque a AMD também usa o nome C1E para uma coisa completamente diferente. Em seus processadores Athlon X2 de 65 nm e Phenom o estado C1E funciona da mesma maneira que o estado C3, desativando todos os clocks do processador. O processador entra no estado C1E quando esta opção está habilitada no BIOS e todos os núcleos do processador entram no estado C1 (Parado) tradicional. Quando isto acontece, o processador automaticamente muda para este estado C1E de modo a economizar energia. A diferença entre os modos C1E da AMD e o C3 é basicamente como o processador entra no estado Sono (Sleep): enquanto no tradicional estado C3 o processador precisa ser colocado neste estado geralmente através de um comando dado pelo sistema operacional, no C1E o processador entra no estado Sono (Sleep) automaticamente quando todos os núcleos estão no estado Parado (C1).
Estado C2
O estado C2 também foi introduzido com o 486DX4, adicionando um pino extra ao processador chamado “STPCLK” (“Stop Clock” ou “Parar Clock”). Quando este pino é ativado, o sinal de clock do núcleo do processador é desativado.
Como você pode ver, o estado C2 é similar ao estado C1: ambos desativam o sinal de clock do núcleo do processador. A diferença entre eles é como o processador faz isto: o estado C1 é ativado por software (através de uma instrução “HLT”) enquanto o estado C2 é ativado por hardware (enviando um sinal para um pino do processador chamado “STPCLK”).
Assim como acontece quando o processador está no estado C1, o clock interno do processador não é completamente desativado quando o processador entra no estado C2: as unidades de interface com o barramento e APIC continuam sendo alimentadas com o clock interno do processador. Isto é feito para permitir ao processador temporariamente sair do estado C2 para cuidar de uma requisição importante proveniente do barramento externo do processador.
Como o sinal de clock é desativado em praticamente todas as unidades internas do processador, elas param de funcionar, fazendo com que o consumo de energia do processador seja menor.
Existem dois sub-modos para o estado C2: Conceder Parada (“Stop Grant”) e Parar Clock (“Stop Clock”). O modo Conceder Parada é obtido assim que o pino “STPCLK” é ativado. Como explicamos, neste modo o clock do núcleo do processador é parado, mas o chip gerador de clock (também conhecido como PLL, Phase-Locked Loop) ainda está ativo e gerando o clock de referência do barramento externo, ou seja, o clock externo do processador.
Os processadores 486DX4, Pentium, Pentium MMX, K5, K6, K6-2 e K6-III podem ir além e entrar em um sub-estado mais profundo chamado Parar Clock onde o chip gerador de clock pode ser desligado e conseqüentemente o sinal de clock externo também é desligado, economizando mais energia. Os atuais processadores não têm o modo Parar Clock dentro do estado C2, mas sim no estado Sono Profundo (C3).
Assim como o estado Parado (C1), o processador pode temporariamente deixar o estado Conceder Parada (C2) para tratar uma requisição importante proveniente do barramento externo do processador. Isto é chamado estado “Clock Snoop”, Estado “HALT/Grant Snoop” ou simplemente Estado “Snoop” (literalmente “Bisbilhoteiro”) e durante sua duração o clock do processador é restaurado. Após o processador ter processado a requisição, ele volta automaticamente para o estado Conceder Parada (C2).
Os processadores Core 2 Duo trouxeram um estado Conceder Parada Avançado ou C2E, que também reduz a tensão de alimentação do processador além de desativar o sinal de clock interno. Se este modo for habilitado no BIOS da placa-mãe o processador entrará neste modo em vez do tradicional modo Conceder Parada (C2) quando o pino STPCLK for ativado. Caso contrário o processador continuará a usar o modo Conceder Parada padrão.
Esses processadores também introduziram o estado “Extended Halt/Stop Grant Snoop”, que permite ao processador temporariamente sair dos modos C1E ou C2E para responder a uma requisição importante proveniente do barramento externo, mas mantendo a tensão de alimentação do processador mais baixa em vez de restaurar a alimentação total do processador.
Estado C3
O estado C3, também chamado Sono, foi primeiro usado no Pentium II da Intel e no primeiro processador Athlon da AMD. Interessantemente ele não está disponível nos processadores Core 2 Duo fabricados com tecnologia de 65 nm – ou seja, modelos começando com “4” ou “6” –, mas estes processadores implementam outros estados apromorados (C1E e C2E) mencionados anteriormente. O Core 2 Duo fabricado com tecnologia de 45 nm – ou seja, modelos começando com “7” ou “8” – têm o modo C3.
Como explicamos, quando o processador está no estado Parado (C1) ou Conceder Parada (C2) o clock interno do processador é desativado em praticamente todas as unidades dentro do processador, fazendo com que ele pare e consuma menos energia. Nesses estados, no entanto, duas unidades internas do processador continuam em funcionamento: a unidade de interface com o barramento e o controlador de interrupção programável (APIC). Essas unidades continuam funcionando e por isso o processador pode trata requisições importantes provenientes do barramento externo e executar interrupções.
O próximo estado, Sono (C3), desativa todos os sinais de clock internos do processador incluindo os clocks das unidade de interface com o barramento e APIC. Isto significa que quando o processador está no modo Sono ele não pode responder requisições importantes provenientes do barramento externo do processador ou interrupções.
Os processadores da Intel e o Turion 64 da AMD suportam um sub-modo do C3 chamado Sono Profundo, onde o clock externo do processador é desativado, fazendo com que o processador economize ainda mais energia.
A maneira como o processador entra no estado C3 depende do fabricante. Os processadores da Intel têm um pino extra chamado SLP (ou DPSL, dependendo do modelo do processador), que precisa ser ativado quando o processador está no estado C2 para chaveá-lo para o estado C3. Portanto, o pino STPCLK precisa ser ativado e, em seguida, o pino SLP. Para entrar no estado Sono Profundo basta que que o sinal de clock externo seja desativado.
No caso da AMD os processadores entram no estado C3 simplesmente lendo um registrador do ACPI (Interface de Controle de Energia Avançada), circuito que está fisicamente localizado no chipset. Se o programa ler o registrador PLVL_2, o chipset ativará o pino STPCLK colocando o processador no modo Conceder Parada (C2), enquanto que se o programa ler o registrador PLVL_3 o chipset ativará o pino STPCLK colocando o processador no modo Sono (C3).
Os processadores para notebooks da AMD (Turion 64) suportam um sub-modo chamado AltVID que permite a redução na tensão de alimentação do processador enquanto eles estão no modo C3.
Além disso, não esqueça que o Turion 64, o Athlon X2 de 65 nm e os processadores Phenom também têm um modo chamado C1E que não tem relação com o modo C1E da Intel, que coloca o processador em um modo idêntico ao C3. A diferença entre o estado C1E da AMD e o C3 é basicamente como o processador entra no estado Sono: enquanto no tradicional estado C3 o processador normalmente entra neste estado através de um comando dado pelo o sistema operacional, no estado C1E da AMD o processador entra no estado Sono automaticamente quando todos os núcleos estão no estado Parado (C1).
Estado C4
Os modos C1, C2 e C3 lidam basicamente com o sinal de clock. Como no modo C3 todos os sinais de clock dentro do processador podem ser parados, não há outra maneira de economizar energia manipulando os sinais de clock do processador. O próximo passo na redução do consumo elétrico do processador quando ele está ocioso é reduzindo a sua tensão de alimentação. Como potência é diretamente proporcional a tensão (P = V x I) se reduzirmos a tensão de alimentação do processador também reduzimos a quantidade de potência desperdiçada.
O primeiro modo a implementar redução da tensão é o C4 ou Sono Mais Profundo, que foi primeiro implementado nos processadores Pentium M (parte integrante da plataforma Centrino), que é um processador voltado para o mercado de notebook, onde a economiza de energia é extremamente importante para aumentar a autonomia da bateria. Este modo também está disponível nos processadores Core Solo, Core Duo (a versão de dois núcleos do Pentium M), em todas as versões do Core 2 Duo para notebooks e nos modelos para desktop do Core 2 Duo começando “7” ou “8” (isto é, processadores de 45 nm). Este modo não está disponível nos processadores Core 2 Duo de 65 nm (modelos começando com “4” ou “6”). Este modo também está disponível nos processadores Turion 64 da AMD.
O estado Sono Mais Profundo é ativado a partir do estado Sono Profundo, ou seja, o processador precisa primeiro entrar no estado Sono Profundo (C3) e então ele pode reduzir sua tensão de alimentação interna. Nos processadores Core Duo isto é feito ativando um pino no processador chamado DPRSTP.
Só para você ter alguns exemplos reais de como o estado C4 pode economizar energia, vamos considerar o processador para notebooks Core 2 extreme X9100. No modo normal (C0) funcionando em seu clock máximo este processador tem um consumo máximo de corrente de 59 A, que cai para 12,2 A quando o processador está no estado C4, uma redução de 79,32% no consumo. Em um processador para notebooks Core 2 Duo T9400 ou T9600, que tem um consumo máximo de corrente de 47 A, o consumo máximo de corrente cai para 11,7 A quando o processador está no modo C4, uma redução de 75,11% no consumo.
O Core Solo, o Core Duo (a versão de dois núcleos do Pentium M voltado para o mercado de notebooks, codinome Yonah) e a versão de 45 nm do Core 2 Duo para notebooks (ou seja, modelos com começando com 8 ou 9 e o modelo 7350) têm um outro modo C4, chamado Sono Mais Profundo Aprimorado ou simplesmente C4E, que permite que a tensão de alimentação seja reduzida ainda mais após o cache de memória L2 ter sido desligado. Este modo não está disponível em outros processadores. Este modo também é chamado C5 por algumas pessoas, apesar de não ser o verdadeiro nome deste modo.
Vamos dar alguns exemplos de economiza de energia oferecido pelo o estado C4E. Primeiro vamos considerar o processador para notebook Core 2 Extreme X9100. No modo normal (C0) funcionando em seu clock máximo este processador tem um consumo máximo de corrente de 59 A, que cai para 11,7 A quando o processador está no estado C4E, uma redução de 80,17% no consumo. No processador para notebook Core 2 Duo T9400 ou T9600, que tem um consumo de corrente máximo de 47 A, o consumo de corrente cai para 10,5 A quando o processador está no modo C4E, uma redução de 77,66% no consumo.
Estado C6
Esta é a mais nova adição no que diz respeito a modos de economia de energia, introduzido com a versão de 45 nm do processador Core 2 Duo para notebooks – ou seja, modelos começando com 8 ou 9 e o modelo 7350. É importante notar que a versão para desktops do processador Core 2 Duo de 45 nm não traz esta funcionalidade, que também é chamada Desligamento Profundo.
Quando o processador entra neste estado ele salva seu o estado da sua arquitetura dentro de uma memória RAM estática especial, que é alimentada por uma fonte de alimentação separada. Isto permite que a tensão de alimentação interna do processador seja reduzida para qualquer valor, incluindo 0 V, o que desligaria completamente o processador quando ocioso. Dessa forma quando o processador é “acordado” ele carrega o estado anterior de todas as unidades internas da memória RAM estática especial. Claro que acordar o processador deste estado leva mais tempo do que os estados anteriores que discutimos, mas é mais rápido do que desligar o computador e ligá-lo novamente e esperar a carga do sistema operacional.
Note que há apenas uma linha de alimentação para todo o processador (o único componente com uma fonte de tensão separada é a memória especial mencionada anteriormente) e logo diminuir ou desligar a tensão de alimentação do processador é uma situação do tipo “tudo ou nada”: se você desligar o processador você tem que desligá-lo inteiramente quando ele vai para o modo C6.
Os futuros processadores Core i7 (codinome Nehalem) terão um unidade controladora de energia integrada que permitirá que a tensão de partes individuais do processador sejam reduzidas ou cortadas. Por exemplo, se apenas um dos núcleos do processador estiver ocioso é possível desligar apenas ele, colocando-o no modo C6. Nos atuais processadores Core 2 Duo de 45 nm para notebooks você não pode fazer isto (você tem que desligar o processador todo).
Para entrar no estado C6 o processador precisa primeiro entrar no estado C4 e de lá ir para o estado C6.
Vamos agora dar alguns exemplos da economia de energia trazida pelo o estado C6. Primeiro vamos considerar o processador para notebook Core 2 Extreme X9100. No modo normal (C0) funcionando em seu clock máximo este processador tem um consumo máximo de corrente de 59 A, que cai para 11 A quando o processador está no estado C6, uma redução de 81,35% no consumo. Nos processadores para notebooks Core 2 Duo T9400 ou T9600, que tem um consumo de corrente máximo de 47 A, o consumo de corrente máximo cai para 5,7 A quando o processador está no modo C6, uma redução de 87,87% no consumo.
Originalmente em http://www.clubedohardware.com.br/artigos/Tudo-o-Que-Voce-Precisa-Saber-Sobre-os-Modos-de-Economia-de-Energia-Estados-C-do-Processador/1556
© 1996-2012, Clube do Hardware. Todos os direitos reservados.
É expressamente proibida a reprodução total ou parcial do conteúdo deste site e dos textos disponíveis, seja através de mídia eletrônica, impressa, ou qualquer outra forma de distribuição. Os infratores serão indiciados e punidos com base na lei nº 9.610 de 19/02/1998.
Não nos responsabilizamos por danos materiais e/ou morais de qualquer espécie promovidos pelo uso das informações contidas no Clube do Hardware.