
O Linux deu um passo definitivo para a modernização da sua arquitetura ao tornar o Time Stamp Counter (TSC) um requisito incondicional para os processadores x86. Esta alteração, recentemente submetida no repositório oficial do Kernel.org, elimina o código de compatibilidade que permitia compilar o sistema sem o suporte para esta funcionalidade, ditando o fim da linha para o hardware informático mais obsoleto.
O fim de uma era de compatibilidade
O TSC é um registo especial de 64 bits que atua como um contador do processador, presente desde o lançamento da geração Intel Pentium. Este componente disponibiliza um método de altíssima resolução para medir o tempo decorrido e pode ser acedido de forma muito mais rápida do que outros temporizadores integrados na motherboard, como o HPET (High Precision Event Timer) ou o temporizador de gestão de energia ACPI PM.
Hoje em dia, a totalidade dos processadores modernos da Intel e da AMD possui um TSC de 64 bits acessível através de instruções de leitura específicas, como o RDTSC e o RDTSCP. Durante grande parte da sua história, o sistema operativo livre manteve rotinas de compatibilidade ativas para suportar componentes mais antigos, nomeadamente a arquitetura i486, que não dispunha deste relógio de alta precisão. Com a remoção do suporte para os processadores Intel 486 na versão 7.0, a base de código pode assumir em segurança a existência do TSC em qualquer equipamento x86 compatível.
A transição no ecossistema concorrente
A Microsoft atingiu um marco estrutural semelhante bastante mais cedo. A empresa norte-americana introduziu o QueryPerformanceCounter (QPC) com o Windows 2000 e Windows XP, operando como um contador de desempenho focado na alta resolução. Em máquinas antigas com contadores TSC instáveis ou sem sincronização, o sistema operativo recuava para as alternativas tradicionais da plataforma, como o HPET.
Após sucessivas melhorias e o uso de contadores de taxa constante no Windows 7 e Windows Server 2008 R2, foi com o Windows 8 e Windows 8.1 que a empresa consolidou o TSC como alicerce principal do contador de desempenho. A documentação oficial aconselha os programadores a usarem a abstração QPC em vez de lerem o registo de forma direta, de modo a tratar das diferenças de hardware e virtualização.
A preferência por esta tecnologia prende-se diretamente com a latência na sua execução. A leitura de um QPC baseado no TSC consome apenas dezenas a centenas de ciclos do processador, enquanto o recuo para os temporizadores convencionais da motherboard eleva o tempo de processamento para valores na ordem dos 0,8 e 1,0 microssegundos. Esta diferença de desempenho traduz o encerramento natural das antigas linhas de código no kernel e alinha o sistema com a realidade otimizada do silício moderno.












Nenhum comentário
Seja o primeiro!