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