Você sabe o que é um processador multicore? A adição de vários núcleos a um único processador oferece benefícios significativos, graças à natureza multitarefa dos sistemas operacionais modernos. No entanto, para alguns propósitos, há um limite prático superior de quantos núcleos produzem melhorias em relação ao custo de adicioná-los.
Processador multinúcleo (múltiplos núcleos, do inglês multicore) é o que tem dois ou mais núcleos de processamento (cores) no interior de um único chip. Estes dois ou mais núcleos são responsáveis por dividir as tarefas entre si, ou seja, permitem trabalhar em um ambiente multitarefa. Em processadores de um só núcleo, as funções de multitarefa podem ultrapassar a capacidade da CPU, o que resulta em queda no desempenho enquanto as operações aguardam para serem processadas. Em processadores de múltiplos núcleos o sistema operacional trata cada um desses núcleos como um processador diferente. Na maioria dos casos, cada unidade possui seu próprio cache e pode processar várias instruções quase simultaneamente. Adicionar novos núcleos de processamento a um processador (único encapsulamento) possibilita que as instruções das aplicações sejam executadas em paralelo, como se fossem 2 ou mais processadores distintos.


Os dois núcleos não somam a capacidade de processamento, mas dividem as tarefas entre si. Por exemplo, um processador de dois núcleos com clock de 1.8 GHz não equivale a um processador de um núcleo funcionando com clock de 3.6 Ghz, e sim dois núcleos 1,8GHZ operando em paralelo. O termo multinúcleo ou multicore (como é popularmente conhecido), são por vezes utilizados para descrever arquiteturas multicore com um número particularmente elevado de núcleos (dezenas ou centenas).
O surgimento dos processadores multicore, tornou-se necessário principalmente devido a missão cada vez mais difícil de resfriar processadores singlecore (processadores de apenas um núcleo) com clocks cada vez mais altos; devido a concentração cada vez maior de transistores cada vez menores em um mesmo circuito integrado. E além dessa e outras limitações dos processadores singlecore, existe a grande diferença entre a velocidade da memória e do processador, aliada à estreita banda de dados, que faz com que aproximadamente 75 por cento do uso do microprocessador seja gasto na espera por resultados dos acessos à memória.
Avanços da tecnologia de processador multicore
Um processador multicore pode estar disponível em computadores pessoais desde o final dos anos 90. Os projetos com vários núcleos abordaram o problema de os processadores atingirem o limite máximo de suas limitações físicas em termos de velocidade de clock e quão efetivamente eles poderiam ser resfriados e ainda manter a precisão. Ao mudar para núcleos extras em um chip de processador único, os fabricantes evitaram problemas com a velocidade do relógio, multiplicando efetivamente a quantidade de dados que poderiam ser manipulados pela CPU .


Quando eles foram lançados originalmente, os fabricantes ofereciam apenas dois núcleos em uma única CPU, mas agora existem opções para quatro, seis e até 10 ou mais. Além de adicionar núcleos, a tecnologia Hyper-Threading da Intel dobra os núcleos virtuais que o sistema operacional vê.
Processador: Processos e Threads
Um processo é uma tarefa específica, como um programa, em execução em um computador. Um processo consiste em um ou mais encadeamentos.
Um encadeamento é simplesmente um único fluxo de dados de um programa que passa pelo processador no computador. Cada aplicativo gera seus próprios threads de um ou muitos, dependendo de como está sendo executado. Com a multitarefa, um processador de núcleo único pode lidar apenas com um único encadeamento de cada vez, para que o sistema alterne rapidamente entre os encadeamentos para processar os dados de uma maneira aparentemente simultânea.


A vantagem de ter vários núcleos é que o sistema pode lidar com mais de um thread simultaneamente. Cada núcleo pode lidar com um fluxo de dados separado. Essa arquitetura aumenta muito o desempenho de um sistema que está executando aplicativos simultâneos. Como os servidores tendem a executar muitos aplicativos simultâneos em um determinado momento, a tecnologia foi desenvolvida originalmente para o cliente corporativo – mas, à medida que os computadores pessoais se tornaram mais complexos e aumentaram as multitarefas, eles também se beneficiaram de ter núcleos extras.
Todo processo, no entanto, é governado por um encadeamento primário que pode ocupar apenas um único núcleo. Portanto, a velocidade relativa de um programa como um jogo ou um renderizador de vídeo é limitada à capacidade do núcleo que o encadeamento primário consome. O encadeamento primário pode delegar absolutamente encadeamentos secundários a outros núcleos – mas um jogo não se torna duas vezes mais rápido quando você duplica os núcleos. Portanto, não é incomum um jogo ter no máximo um núcleo (o thread primário), mas apenas a utilização parcial de outros núcleos para threads secundários. Nenhuma duplicação de núcleo contorna o fato de que o núcleo principal é um limitador de taxa para o seu aplicativo, e os aplicativos sensíveis a essa arquitetura terão um desempenho melhor do que os aplicativos que não são.
Dependência de software
Embora o conceito de processadores com múltiplos núcleos pareça atraente, há uma grande ressalva nessa tecnologia. Para que os verdadeiros benefícios dos múltiplos processadores sejam desfrutados, o software em execução no computador deve ser escrito para oferecer suporte à multithreading. Sem o software que suporta esse recurso, os threads serão executados principalmente por um único núcleo, degradando a eficiência geral do computador. Afinal, se ele pode ser executado apenas em um único núcleo em um processador quad-core, pode ser mais rápido executá-lo em um processador dual-core com velocidades de clock base mais altas.
Todos os principais sistemas operacionais atuais suportam capacidade de multithreading. Mas o multithreading também deve ser gravado no software aplicativo. O suporte para multithreading em software de consumidor melhorou ao longo dos anos, mas para muitos programas simples, o suporte multithreading ainda não foi implementado devido à complexidade da criação do software. Por exemplo, é improvável que um programa de correio ou navegador da Web tenha enormes benefícios em multithreading, tanto quanto um programa de edição de gráficos ou vídeo, onde o computador processa cálculos complexos.
Um bom exemplo para explicar essa tendência é olhar para um jogo de computador típico. A maioria dos jogos exige alguma forma de mecanismo de renderização para exibir o que está acontecendo no jogo. Além disso, algum tipo de inteligência artificial controla eventos e personagens do jogo. Com um núcleo único, ambas as tarefas são executadas alternando entre elas. Essa abordagem não é eficiente. Se o sistema apresentasse vários processadores, a renderização e a IA poderiam ser executadas em um núcleo separado – uma situação ideal para um processador de vários núcleos.
Processador Multicore: É 8> 4> 2?
Ir além de dois núcleos apresenta benefícios variados, já que a resposta para qualquer comprador de computador depende do software que ele ou ela normalmente usa. Por exemplo, muitos jogos clássicos ainda oferecem pouca diferença de desempenho entre dois e quatro núcleos. Mesmo jogos modernos – alguns dos quais supostamente exigem ou suportam oito núcleos – podem não ter um desempenho melhor do que uma máquina de seis núcleos com uma velocidade de clock base mais alta, já que a eficácia do encadeamento primário controla a eficiência do desempenho multithread.


Por outro lado, um programa de codificação de vídeo que transcodifique o vídeo provavelmente terá enormes benefícios, pois a renderização de quadro individual pode ser passada para diferentes núcleos e depois agrupada em um único fluxo pelo software. Assim, ter oito núcleos será ainda mais benéfico do que ter quatro. Em essência, o encadeamento primário não precisa de recursos comparativamente ricos; em vez disso, ele pode cultivar o trabalho duro em threads filhas que maximizam os núcleos do processador.
Velocidades do Clock do Processador
Quanto maior a velocidade do clock, mais rápido o processador. As velocidades do clock ficam mais nebulosas quando você considera as velocidades relativas a vários núcleos, porque os processadores processam vários encadeamentos de dados graças aos núcleos extras, mas cada um desses núcleos estará executando em velocidades mais baixas devido às restrições térmicas.


Por exemplo, um processador dual-core (multicore) pode suportar velocidades de clock base de 3,5 GHz para cada processador, enquanto um processador quad-core pode ser executado apenas a 3,0 GHz. Apenas olhando para um único núcleo em cada um deles, o processador dual-core é 14% mais rápido que no quad-core. Portanto, se você tiver um programa que é apenas de thread único, o processador de núcleo duplo é realmente mais eficiente. Por outro lado, se o seu software puder usar todos os quatro processadores, o processador quad-core será realmente 70% mais rápido que o processador dual-core.
Conclusões
Na maioria das vezes, ter um processador multicore geralmente é melhor se o software e os casos de uso típicos o suportarem. Na maioria das vezes, um processador multicore terá energia mais que suficiente para um usuário básico de computador. A maioria dos consumidores não vê benefícios tangíveis em ir além dos quatro núcleos do processador, porque tão pouco software não especializado tira proveito disso. O melhor caso de uso para processadores com alta contagem de núcleos refere-se a máquinas que executam tarefas complexas, como edição de vídeo para desktop, algumas formas de jogos de última geração ou programas complicados de ciências e matemática.
Saiba mais sobre processador multicore em nosso setor de dicas especializadas.
Perguntas Frequentes sobre Processador Multicore
Qual o melhor tipo de processador?
Escolher um bom processador para notebook significa também pensar em que tipo de uso você faz dele. Alguns dos maiores fabricantes de processador para notebook do mundo são Intel e AMD. A Intel é reconhecida por fazer os processadores da família Core i3, i5 e ainda os processadores i7, que oferecem ótima performance
Qual o melhor processador para multitarefas?
O recurso multitarefa das CPUs atuais faz com que qualquer modelo dual-core (Intel Core i3 ou Core i5 ou AMD FX-4000 ou A4) seja capaz de lidar com grande parte das tarefas que executamos no PC.
Como saber se meu processador é Multicore?
Pressione Ctrl + Shift + Esc para abrir o Gerenciador de Tarefas:
Selecione a guia Desempenho para ver quantos núcleos e processadores lógicos seu computador tem.
O que quer dizer Multicore?
A palavra multicore é utilizada para definir qualquer processador que tenha mais de um núcleo. Atualmente há vários processadores desse tipo no mercado, seja eles processadores de dois, três ou quatro núcleos.
O que é o core de um processador?
Core é uma unidade de processamento separada capaz de lidar com tarefas independentes, mas aumentar a quantidade de núcleos traz somente uma parcela de aumento de desempenho.