Noções básicas sobre CPU Vários CPUs, Núcleos e Hyper-Threading explicados
A unidade central de processamento (CPU) do seu computador faz basicamente os programas computacionais de trabalho. Mas os processadores modernos oferecem recursos como vários núcleos e hyper-threading. Alguns PCs até usam vários processadores. Estamos aqui para ajudar a resolver tudo.
A velocidade do clock de uma CPU costumava ser suficiente ao comparar o desempenho. As coisas não são mais tão simples. Uma CPU que oferece vários núcleos ou hyper-threading pode ter um desempenho significativamente melhor do que uma CPU de um único núcleo com a mesma velocidade que não possui hyper-threading. E PCs com múltiplas CPUs podem ter uma vantagem ainda maior. Todos esses recursos foram projetados para permitir que os PCs executem mais processos ao mesmo tempo, aumentando seu desempenho ao realizar multitarefas ou sob as demandas de aplicativos poderosos, como codificadores de vídeo e jogos modernos. Então, vamos dar uma olhada em cada um desses recursos e o que eles podem significar para você.
Hyper-Threading
O Hyper-threading foi a primeira tentativa da Intel de trazer computação paralela para PCs de consumo. Ele estreou em CPUs de desktop com o Pentium 4 HT em 2002. O Pentium 4 da época apresentava apenas um único núcleo de CPU, então ele realmente só podia realizar uma tarefa de cada vez - mesmo que fosse capaz de alternar entre tarefas com rapidez suficiente que parecia multitarefa. O Hyper-threading tentou compensar isso.
Um único núcleo de CPU físico com hyper-threading aparece como duas CPUs lógicas para um sistema operacional. A CPU ainda é uma única CPU, então é uma trapaça. Enquanto o sistema operacional vê duas CPUs para cada núcleo, o hardware real da CPU tem apenas um único conjunto de recursos de execução para cada núcleo. A CPU finge que tem mais núcleos do que ela e usa sua própria lógica para acelerar a execução do programa. Em outras palavras, o sistema operacional é induzido a ver duas CPUs para cada núcleo real da CPU.
O Hyper-threading permite que os dois núcleos de CPU lógicos compartilhem recursos de execução física. Isso pode acelerar um pouco as coisas - se uma CPU virtual estiver paralisada e aguardando, a outra CPU virtual pode pegar emprestado seus recursos de execução. Hyper-threading pode ajudar a acelerar o seu sistema, mas não é nem de longe tão bom quanto ter núcleos adicionais reais.
Felizmente, o hyper-threading é agora um “bônus”. Enquanto os processadores de consumidor originais com hyper-threading tinham apenas um único núcleo que se disfarçava como múltiplos núcleos, os modernos processadores Intel agora têm múltiplos núcleos e tecnologia hyper-threading. Sua CPU dual-core com hyper-threading aparece como quatro núcleos para o seu sistema operacional, enquanto a sua CPU quad-core com hyper-threading aparece como oito núcleos. Hyper-threading não é substituto para núcleos adicionais, mas uma CPU dual-core com hyper-threading deve ter um desempenho melhor do que uma CPU dual-core sem hyper-threading.
Vários núcleos
Originalmente, as CPUs tinham um único núcleo. Isso significava que a CPU física tinha uma única unidade central de processamento. Para aumentar o desempenho, os fabricantes adicionam “núcleos” adicionais ou unidades de processamento central. Uma CPU dual-core tem duas unidades centrais de processamento, de modo que parece ao sistema operacional como duas CPUs. Uma CPU com dois núcleos, por exemplo, pode executar dois processos diferentes ao mesmo tempo. Isso acelera o seu sistema, porque o seu computador pode fazer várias coisas ao mesmo tempo.
Ao contrário do hyper-threading, não há truques aqui - um processador dual-core tem literalmente duas unidades centrais de processamento no chip da CPU. Uma CPU quad-core possui quatro unidades centrais de processamento, uma CPU octa-core possui oito unidades centrais de processamento e assim por diante..
Isso ajuda a melhorar drasticamente o desempenho e, ao mesmo tempo, mantém a unidade física da CPU pequena para que ela caiba em um único soquete. Só precisa haver um único soquete de CPU com uma única unidade de CPU inserida nele - não quatro soquetes de CPU diferentes com quatro CPUs diferentes, cada qual precisando de sua própria energia, refrigeração e outro hardware. Há menos latência porque os núcleos podem se comunicar mais rapidamente, pois estão todos no mesmo chip.
O Gerenciador de Tarefas do Windows mostra isso muito bem. Aqui, por exemplo, você pode ver que este sistema tem uma CPU real (soquete) e quatro núcleos. Hyperthreading faz com que cada núcleo se pareça com dois processadores para o sistema operacional, então ele mostra 8 processadores lógicos.
CPUs múltiplas
A maioria dos computadores tem apenas uma única CPU. Essa CPU única pode ter vários núcleos ou tecnologia de hyper-threading - mas ainda é apenas uma unidade de CPU física inserida em um único soquete de CPU na placa-mãe.
Antes de as CPUs hyper-threading e multi-core aparecerem, as pessoas tentavam adicionar mais poder de processamento aos computadores, adicionando CPUs adicionais. Isso requer uma placa-mãe com vários soquetes de CPU. A placa-mãe também precisa de hardware adicional para conectar os soquetes da CPU à RAM e a outros recursos. Há muita sobrecarga nesse tipo de configuração. Há latência adicional se as CPUs precisarem se comunicar umas com as outras, os sistemas com várias CPUs consumirem mais energia e a placa-mãe precisar de mais soquetes e hardware.
Os sistemas com várias CPUs não são muito comuns entre os PCs de usuários domésticos atualmente. Mesmo um desktop de jogos de alta potência com várias placas gráficas geralmente terá apenas uma única CPU. Você encontrará vários sistemas de CPU entre supercomputadores, servidores e sistemas avançados de última geração que precisam da maior capacidade de processamento de números possível.
Quanto mais CPUs ou núcleos um computador tiver, mais coisas ele poderá fazer de uma vez, ajudando a melhorar o desempenho na maioria das tarefas. A maioria dos computadores agora tem CPUs com múltiplos núcleos - a opção mais eficiente que já discutimos. Você até encontrará CPUs com múltiplos núcleos em smartphones e tablets modernos. Os processadores Intel também apresentam hyper-threading, o que é uma espécie de bônus. Alguns computadores que precisam de uma grande quantidade de energia da CPU podem ter várias CPUs, mas é muito menos eficiente do que parece.
Crédito de imagem: lungstruck no Flickr, Mike Babcock no Flickr, DeclanTM no Flickr