Quando falamos em processadores, os principais aspectos que levamos em consideração para determinar o seu desempenho são: o número de núcleos, a frequência de clock e a memória cache. É claro que existem outros parâmetros que influenciam no “poder de fogo” de uma CPU, mas estes três são os mais lembrados. No entanto, existe um outro tão importante quanto e que muitos usuários desconhecem.
Estou falando do IPC. Você já ouviu falar dele? Neste artigo irei explicar em detalhes o que é esse tal de IPC e qual a sua importância para os processadores. Só para você ter uma ideia, processadores com clock mais elevado podem ser mais lentos que chips com clock baixo justamente por causa do IPC. Então vem comigo que te explicarei com maiores detalhes nos próximos parágrafos.
Leia também
O que é para que serve o processador?
O que significam os nanômetros dos processadores?
O que é IPC?
IPC é a sigla, em inglês, para Instruções por Clock (Instructions Per Clock). E sim, o significado é bem literal mesmo. O IPC indica quantas instruções/operações o chip consegue processar em cada pulso de clock, ou seja, em cada ciclo de clock.
Em cada ciclo de clock, o processador realiza uma série de instruções que são previamente definidas pelo fabricante. O chip precisa pegar as informações da memória RAM, realizar um prefetch inteligente, decodificar as informações para a linguagem de máquina, distribuir os dados entre as memórias cache de cada núcleo, estabelecer uma hierarquia de cache, processar as informações e uma série de outras tarefas.
Portanto, quanto mais instruções o processador consegue executar em um único ciclo de clock, mais rápido ele será. Sendo assim, não é incomum um processador com velocidade nominal mais alta ser mais lento do que um processador com menor frequência de clock mas um alto IPC.
Confusão entre Frequência e Ciclo
O significado de IPC é bem simples de se entender, não é verdade? Porém, muitas pessoas fazem confusão com o significado de outras nomenclaturas. Quando eu digo que IPC são “Instruções por Clock”, a maioria das pessoas entende clock como a frequência do processador.
Se eu te perguntar qual o clock do seu processador, você provavelmente responderá algo como 3 GHz ou 2 GHz. Isso é comum aqui no Brasil. Mas GHz (GigaHertz) é uma unidade de frequência e não de clock. Tanto é que em inglês esse parâmetro é chamado de Clock Frequency ou Core Clock Frequency em alguns modelos.
E frequência significa a quantidade de ciclos que uma CPU é capaz de fazer em um período específico de tempo, geralmente em 1 segundo. Portanto, falar que o processador tem uma velocidade de 3 GHz, significa dizer que, a cada segundo, ele realiza 3 bilhões de ciclos de clock, obrigatoriamente.
Mas, então, o que é o clock?
Nos primórdios da computação, um ciclo de clock ou pulso de clock era o tempo necessário para o processador executar uma operação matemática. Mas é claro que esse conceito já está totalmente ultrapassado.
Com a evolução da lógica interna dos processadores, de suas microarquiteturas e adição de múltiplos núcleos, os chips ganharam novas formas de lidar com as informações (bits e bytes).
Hoje, cada microarquitetura possui uma maneira diferente para lidar com os dados a serem processados. As instruções podem ser executadas de maneira concomitante, paralela e até concorrente. E tudo ao mesmo tempo e em diferentes níveis.
Como explicado no tópico anterior, em apenas 1 segundo um processador de 3 GHz realiza 3 bilhões de ciclos de clock. Então, cada ciclo demora apenas frações de nanossegundos para acontecer. E em cada ciclo de clock o processador consegue executar um número X de instruções. Quanto mais instruções um processador consegue executar em cada ciclo de clock, mais rápido e eficiente ele será.
É possível aumentar o IPC com overclock?
Não. A única maneira de aumentar o IPC de um processador é mudando a sua microarquitetura. Em outras palavras, apenas o fabricante consegue alterar o IPC de uma geração para outras de seus chips. Não há nenhuma mudança na BIOS que o usuário possa fazer para elevar o IPC.
Mas é claro que o overclock deixa o processador mais rápido. Digamos que um chip de 3 GHz chegue a 4 GHz em overclock. Isso significa 1 bilhão a mais de ciclos por segundo. Então, em um segundo, o processador conseguirá realizar mais operações. Mas isso não quer dizer que a quantidade de instruções realizadas por ciclo de clock aumentou.
Por que o IPC é tão pouco falado?
Se o IPC é tão determinante para o desempenho do processador, por que as fabricantes falam tão pouco desse parâmetro? Simples. O IPC é um parâmetro difícil de ser mensurado. Sem falar que ele oscila bastante.
A depender do tipo de instrução que o processador está executando e do tipo de programas que você esteja rodando, o IPC varia entre os ciclos. Para entendermos melhor este ponto seria necessário nos aprofundarmos ainda mais em como o processador funciona por dentro e em como lida com cada tipo de instrução. Não é o meu intuito com este artigo.
O que importa é saber que o IPC é um parâmetro difícil de medir e que não é estável. Diferente da frequência de clock, que é fácil de se medir e se mantém estável, o IPC é o exato oposto. É por isso que Intel, AMD, Qualcomm e outras fabricantes de chips não se dão ao trabalho de colocar esse dado na ficha técnica dos processadores.
Deixe seu comentário