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
Leia mais em: TecMundo
0 Responses So Far:
Postar um comentário