Desde que os processadores com mais de um núcleo começaram a surgir nos desktops em 2005, essa dúvida vem permeando a mente dos consumidores, principalmente com a explosão de lançamentos que ocorreu nos últimos anos. O senso comum diz que, quanto mais núcleos, melhor. O problema é que isso nem sempre é verdade.
A teoria diz que mais núcleos podem quebrar o processo em partes menores, sendo que cada um dos cores fica responsável por resolver apenas parte do processamento. Com isso, o consumo de energia, em teoria, também é menor, já que a CPU precisa fazer menos esforço para realizar aquela atividade específica.
(Fonte da imagem: Reprodução/Legit Reviews)
Núcleos ociosos não adiantam nada
Vamos começar com um pouco de teoria e um exemplo simples. Para que você realize uma tarefa no computador, você acessa um software. Para que ele faça o que você precisa, é necessário que ele envie os comandos para o processador, que é quem vai executar as tarefas, uma por vez. Portanto, quem decide como a CPU vai trabalhar é o software em execução no momento.
Esse software é como se fosse o gerente de uma fábrica; o processador seria a linha de produção; os operários seriam equivalentes aos núcleos do processador.
O primeiro operário (núcleo 1) recebeu uma tarefa de seu gerente (software). Prontamente, ele atendeu a ordem e conseguiu concluir o processo.
Agora imagine que existem dois funcionários trabalhando nessa mesma linha: isso seria o equivalente a um processador dual-core. Caso o gerente mande uma tarefa apenas para o primeiro operário, o segundo fica sem ter o que fazer. Ele fica apenas sentado e tomando cafezinho enquanto o primeiro se arrebenta de trabalhar por conta.
(Fonte da imagem: Reprodução/Reg Hardware)
Para resolver esse problema, o gerente deveria ter dividido a tarefa em duas partes e mandado cada um deles fazer uma delas. Dessa maneira, o processo seria concluído em menos tempo e com maior eficiência.
E onde queremos chegar com esses exemplos? Simples: um processador com muitos núcleos só é eficiente se os aplicativos souberem utilizar esses núcleos; mas infelizmente não é isso o que acontece em muitos casos, mesmo que processadores multi-core não sejam exatamente uma novidade.
Porque nem todos os aplicativos suportam múltiplos núcleos?
A resposta é simples: porque dá mais trabalho programar. Para um software funcionar com mais de um núcleo, os desenvolvedores precisam inserir muito mais linhas no código dos aplicativos. Em vez de simplesmente mandar o software executar uma função específica pelo processador, é preciso determinar qual núcleo vai fazer o que e quando. Quanto mais núcleos, mais complicada é essa tarefa.
Apesar de a maioria dos desenvolvedores já trabalhar com esses recursos, não são todos que o fazem. Muitas vezes porque é muito caro perder tempo com programação apenas para otimizar os processos e outras por motivo de compatibilidade.
(Fonte da imagem: Reprodução/Reg Hardware)
Vejamos os smartphones Android, por exemplo. Um dos aparelhos mais conhecidos e poderosos da atualidade é o Galaxy S3, da Samsung, que possui um processador quad-core. O problema é que existem centenas de aparelhos que utilizam o sistema Android. Coloque-se no lugar de um desenvolvedor: se você fosse desenvolver um aplicativo para o sistema, faria ele compatível com o maior número de aparelhos ou com apenas um ou dois?
É nesse ponto que a Apple leva certa vantagem, pois possui poucos modelos de aparelhos. Com isso, é possível otimizar o desempenho de uma maneira mais específica para o iPhone 5 do que para o Galaxy S3, por exemplo.
Mais núcleos ou núcleos mais rápidos?
A velocidade era o parâmetro mais utilizado alguns anos atrás para medir o desempenho dos processadores, e na época até fazia sentido, pois, quanto mais MHz tinha uma CPU, melhor. Infelizmente a tecnologia chegou a um ponto em que apenas aumentar o ciclo de operações por segundo dentro das máquinas tornou-se quase inviável, principalmente devido ao consumo de energia e aquecimento dos componentes.
Baseando-se nisso, os engenheiros desenvolveram métodos de aumentar o desempenho dos processadores adaptando mais recursos, melhorando a tecnologia e tornando os equipamentos mais eficientes. No caso dos processadores com vários núcleos, eles tornaram-se melhores em executar várias tarefas simultaneamente.
(Fonte da imagem: Divulgação/Qualcomm)
Ou seja, um processador com múltiplos núcleos é mais recomendado para quem é adepto da multitarefa. No caso de se executar apenas um aplicativo e, principalmente, se esse aplicativo não for otimizado para aproveitar todos os núcleos disponíveis, um processador com core único e um clock maior é mais recomendado.
Muitos núcleos gastam menos ou mais energia?
Existe outra analogia que ajuda a responder essa pergunta: imagine que o processador é o motor de um carro e cada núcleo é um cilindro. Qual motor seria mais econômico, o que tem quatro cilindros ou o que tem oito? Salvas as devidas proporções, o carro de oito cilindros é realmente mais poderoso quando você pisa no acelerador, mas, para oferecer toda a potência que ele carrega, ele consome mais gasolina. Seguindo esse raciocínio, é fácil imaginar que, quanto mais núcleos, maior é o consumo.
Quem discorda dessa afirmação é a NVIDIA, que fabrica os processadores da linha Tegra para smartphones. Segundo a empresa, os núcleos são desativados quando não são utilizados e voltam à atividade apenas quando algum software exige mais poder de fogo.
Hyper-threading: um núcleo real, dois núcleos lógicos
Quando a fabricação de um processador com dois ou mais núcleos ainda era muito cara, a Intel desenvolveu um sistema interessante de multiprocessamento. Trata-se do Hyper Threading, em que o processador possui apenas um núcleo físico, mas o sistema operacional enxerga dois. É como se o mesmo núcleo pudesse fazer duas coisas ao mesmo tempo. Desse modo, a execução de várias tarefas simultâneas tornou-se mais eficiente.
(Fonte da imagem: Divulgação/Intel)
Quem é o responsável por gerenciar esses recursos é o sistema operacional, que envia dois processos ao mesmo tempo para o processador. Portanto, o sistema operacional precisa ser compatível com processadores de núcleos múltiplos e também com a tecnologia HT.
Esse sistema passou a ser utilizado na maioria dos processadores da linha Core, da Intel. Graças a isso, temos processadores com 2 núcleos físicos mas 4 núcleos lógicos, como o Core i3, e processadores com até 12 núcleos, sendo 6 deles físicos e 12 lógicos, como é o caso do Core i7 980X.
Existe uma vantagem real em ter um processador com vários núcleos?
Como já foi dito anteriormente, em teoria, quanto mais núcleos, melhor. Mas para sustentar essa afirmação é preciso que todo o ecossistema seja preparado para isso. O número de aplicativos que suporta vários núcleos aumenta a cada dia, portanto, é provável que em pouco tempo a diferença de se ter vários cores em um processador seja um diferencial muito maior do que é hoje.
Mesmo que os sistemas operacionais modernos, como o Windows 7, gerenciem o sistema com muito mais eficiência distribuindo a força de processamento entre todos os núcleos, dificilmente isso vai ser tão eficiente quanto um software que pode trabalhar nativamente com múltiplos cores.
(Fonte da imagem: Divulgação/Apple)
A questão muda um pouco de figura no caso dos smartphones. Em nossa análise do iPhone 5, colocamos o Galaxy S3 de frente com o aparelho da Apple e mostramos que o dobro de núcleos não é necessariamente melhor. O que interessa mesmo é o que o sistema operacional e os aplicativos façam com o poder disponível.
Nos desktops temos um ótimo exemplo: enquanto alguns processadores da AMD trazem oito núcleos, os concorrentes da Intel trabalham com apenas quatro. Mesmo assim, os processadores da Intel são mais eficientes (na geração atual). Isso acontece pelo conjunto da arquitetura como um todo e não simplesmente pela quantidade de cores que os processadores possuem.
(Fonte da imagem: Divulgação/Samsung)
Lembre-se: uma linha de produção com muitos funcionários, todos inexperientes, é menos produtiva do que uma linha com poucos funcionários, porém experientes.
Portanto, antes de adquirir um novo equipamento, seja PC ou smartphone, tenha em mente que a sua escolha precisa contemplar o sistema como um todo e não apenas a quantidade de núcleos encontrada no processador.
Fonte: ACN Newswire, CNET, World Start, PC Mag, NVIDIA
Categorias