As CPUs (ou núcleos individuais) podem ser colocadas em estados C "profundos" por um kernel do SO.
Você está pensando que o processador "se coloca em suspensão" quando "detecta" a inatividade. Não é assim que funciona. O planejador do sistema operacional determina a porcentagem de inatividade do sistema com base na quantidade de tempo gasto no loop ocioso do sistema para detectar a inatividade do sistema. A própria CPU (em x86, pelo menos) não sabe "o que" está executando e não tem contexto para "detectar" ciclos inativos por conta própria.
O firmware do sistema contém tabelas ACPI que definem os recursos de gerenciamento de energia do hardware. Essas tabelas são lidas pelo sistema operacional quando são inicializadas. O driver de processador do kernel do sistema operacional (ou qualquer que seja o analógico para um determinado sistema operacional) é responsável por monitorar a carga de trabalho da CPU e instruir o hardware a colocar a CPU em um estado de gerenciamento de energia selecionado das tabelas de firmware ACPI.
A Microsoft tem um artigo descrevendo o gerenciamento de energia no Windows 7 e Server 2008 R2 . A IBM tem um artigo (provavelmente datado, no entanto) sobre o sistema CPUfreq no Linux .
Editar:
Vale ressaltar que muitos servidores têm um mecanismo baseado em hardware integrado para monitorar e gerenciar estados de CPU. Isso também não está sendo feito "na CPU", mas está tomando o lugar da funcionalidade de gerenciamento de desempenho e energia do sistema operacional. Tem sido minha experiência que isso muitas vezes gera economia de energia, mas às custas do desempenho do sistema.