Noções básicas de CPU: Várias CPUs, núcleos e Hyper-Threading explicados
A unidade de processamento central (CPU) em seu computador faz o trabalho computacional - executando programas, basicamente. Mas as CPUs modernas oferecem recursos como múltiplos núcleos e hyper-threading. Alguns PCs até usam várias CPUs. Estamos aqui para ajudar a resolver tudo.
RELACIONADO:Por que você não pode usar a velocidade do clock da CPU para comparar o desempenho do computador
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 múltiplos núcleos ou hyper-threading pode ter um desempenho significativamente melhor do que uma CPU de núcleo único da mesma velocidade que não possui hyper-threading. E PCs com múltiplas CPUs podem ter uma vantagem ainda maior. Todos esses recursos são projetados para permitir que os PCs executem mais facilmente vários processos ao mesmo tempo - aumentando seu desempenho ao realizar multitarefas ou sob a demanda 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
Hyper-threading foi a primeira tentativa da Intel de trazer computação paralela para PCs de consumo. Ele estreou em CPUs para desktops com o Pentium 4 HT em 2002. Os Pentium 4 da época apresentavam apenas um único núcleo de CPU, então ele realmente só podia executar uma tarefa por vez - mesmo se fosse capaz de alternar entre tarefas com rapidez suficiente que parecia multitarefa. Hyper-threading tentou compensar isso.
Um único núcleo físico da CPU com hyper-threading aparece como duas CPUs lógicas para um sistema operacional. A CPU ainda é uma única CPU, então é um pouco uma trapaça. Embora o sistema operacional veja duas CPUs para cada núcleo, o hardware real da CPU possui apenas um único conjunto de recursos de execução para cada núcleo. A CPU finge ter mais núcleos do que tem e usa sua própria lógica para acelerar a execução do programa. Em outras palavras, o sistema operacional é levado a ver duas CPUs para cada núcleo de CPU real.
O hyper-threading permite que os dois núcleos lógicos da CPU compartilhem recursos de execução física. Isso pode acelerar um pouco as coisas - se uma CPU virtual está paralisada e esperando, a outra CPU virtual pode pedir emprestados seus recursos de execução. O hyper-threading pode ajudar a acelerar o seu sistema, mas não é tão bom quanto ter núcleos adicionais reais.
Felizmente, o hyper-threading agora é um "bônus". Enquanto os processadores originais para consumidores com hyper-threading tinham apenas um único núcleo mascarado como múltiplos núcleos, as CPUs modernas da Intel agora têm múltiplos núcleos e tecnologia de hyper-threading. Sua CPU dual-core com hyper-threading aparece como quatro núcleos para o seu sistema operacional, enquanto sua CPU quad-core com hyper-threading aparece como oito núcleos. Hyper-threading não substitui núcleos adicionais, mas uma CPU dual-core com hyper-threading deve funcionar melhor do que uma CPU dual-core sem hyper-threading.
Múltiplos núcleos
Originalmente, as CPUs tinham um único núcleo. Isso significava que a CPU física tinha uma única unidade de processamento central. Para aumentar o desempenho, os fabricantes adicionam “núcleos” ou unidades centrais de processamento. Uma CPU dual-core tem duas unidades centrais de processamento, portanto, parece para o sistema operacional como duas CPUs. Uma CPU com dois núcleos, por exemplo, poderia executar dois processos diferentes ao mesmo tempo. Isso acelera seu sistema, porque seu computador pode fazer várias coisas ao mesmo tempo.
Ao contrário do hyper-threading, não há truques aqui - uma CPU dual-core literalmente tem duas unidades centrais de processamento no chip da CPU. Uma CPU quad-core tem quatro unidades centrais de processamento, uma CPU octa-core tem oito unidades centrais de processamento e assim por diante.
Isso ajuda a melhorar drasticamente o desempenho, ao mesmo tempo que 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 um precisando de sua própria energia, resfriamento 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. O hyperthreading faz com que cada núcleo pareça duas CPUs para o sistema operacional, por isso mostra 8 processadores lógicos.
Múltiplas CPUs
RELACIONADO:Por que você não pode usar a velocidade do clock da CPU para comparar o desempenho do computador
A maioria dos computadores possui apenas uma única CPU. Essa única CPU 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 surgirem as CPUs hyper-threading e multi-core, 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 esses soquetes de CPU à RAM e outros recursos. Há muita sobrecarga neste tipo de configuração. Haverá latência adicional se as CPUs precisarem se comunicar umas com as outras, sistemas com várias CPUs consomem mais energia e a placa-mãe precisa de mais soquetes e hardware.
Os sistemas com múltiplas CPUs não são muito comuns entre os PCs de usuários domésticos hoje. Mesmo um desktop para 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 semelhantes de alta tecnologia que precisam de tanto poder de processamento de números quanto possível.
Quanto mais CPUs ou núcleos um computador tiver, mais coisas ele pode fazer ao mesmo tempo, ajudando a melhorar o desempenho na maioria das tarefas. A maioria dos computadores agora tem CPUs com vários núcleos - a opção mais eficiente que discutimos. Você encontrará até CPUs com múltiplos núcleos em smartphones e tablets modernos. CPUs da 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 da imagem: lungstruck no Flickr, Mike Babcock no Flickr, DeclanTM no Flickr