
Desde meados dos anos 2000, paramos de ver CPUs de um único núcleo para CPUs de vários núcleos em nossos PCs. O que começou a ser configurações de 2 núcleos agora são até 16 núcleos em um PC padrão e com configurações de até 64 núcleos em estações de trabalho profissionais. Mas existe um limite para o número de núcleos? Em caso afirmativo, o que é dito limite e quais são os fatores?
Nossos processadores têm cada vez mais núcleos dentro deles, no entanto, chegará ao ponto em que o número de núcleos parará de escalar. Mas quais são os fatores que vão travar o número de núcleos em um CPU?
Por que usamos vários núcleos em uma CPU?

Até meados dos anos 2000, os processadores para PC eram de núcleo único, mas então as CPUs passaram a ser de vários núcleos.
Para entendê-lo temos que levar em consideração o que é a Escala de Dennard, cuja fórmula é a seguinte:
Consumo = Q*f*C*V 2
Onde:
- Q é o número de transistores ativos.
- f é a frequência do relógio
- C é a capacidade dos transistores de manter uma carga
- V é a tensão
A mágica dessa fórmula é que, se o tamanho dos transistores for reduzido, não apenas a densidade por área aumenta, mas V e C estão reduzindo. Esse fenômeno recebeu o nome de Escala de Dennard, porque foi cunhado por Robert H. Dennard, um cientista da IBM que, entre outras coisas, inventou a memória DRAM.

A escala de Dennard usa o valor S como o valor relativo entre o novo nó e o antigo. Se, por exemplo, o nó antigo era de 10 nm e o novo é de 7 nm, então o calor de S será 0.7.
Mas a escala de Dennard atingiu seu limite quando se atingiu o nó de 65nm, com o qual entrou a era Pós-Dennard, sendo o principal motivo a existência de uma parte da fórmula que até então havia sido ignorada por seus efeitos serem descartáveis: corrente vazamento.
O que fez a fórmula ficar assim:
Consumo = Q*f*C*V 2 + (V * Vazamento de corrente).
A consequência foi que Q, fe C mantiveram seus valores de escala, mas a tensão não os manteve e tornou-se quase constante. Como a velocidade do clock varia com a voltagem, os arquitetos tiveram que começar a procurar outras maneiras de obter processadores mais rápidos e poderosos.
A conseqüência disso foi o fim da era em que as CPUs de núcleo único eram feitas e os grandes fabricantes de CPUs de PC como Intel e AMD começou a apostar em processadores multi-core.
Qual é o limite do número de núcleos?
Existem vários fatores que limitam o número de núcleos com os quais um processador é construído, o primeiro e mais óbvio é a densidade em termos de número de transistores por área, que cresce a cada novo nó e, portanto, permite remover processadores com mais e mais núcleos.
Mas este não é o caso e vamos explicar quais são os desafios enfrentados pelos arquitetos ao projetar os novos processadores.
Comunicação interna entre os diferentes núcleos

Há um elemento muito importante que é a comunicação entre os diferentes núcleos, e destes com memória, que crescem exponencialmente ao número de elementos que temos em um sistema.
Isso significa que os engenheiros tiveram que trabalhar em estruturas de comunicação cada vez mais complexas, tudo para que os diferentes núcleos de um processador recebessem e enviassem dados em linha com outro processador.
O problema do silício escuro

Dark Silicon é a parte do circuito dentro de um circuito integrado que não pode ser alimentado em uma tensão de operação normal (aquela determinada pelo chip) para um determinado limite de consumo de energia.
A chave é que a quantidade de silício escuro de um nó para outro aumenta em 1 / S 2, portanto, apesar do fato de que podemos colocar fisicamente o dobro de transistores, a quantidade útil desses diminui de uma geração para outra.
O custo por área está aumentando, não diminuindo

Até 28 nm, o custo por 1 mm2 de área diminuiu, mas além de 28 nm, ele aumentou. Isso significa que, se o custo dos processadores for mantido, eles terão que reduzir a área e se em vez disso quiserem manter o ritmo evolutivo os processadores ficarão cada vez mais caros.
Isso pode parecer sem importância em termos de número de núcleos. Sim, porque os arquitetos levam em conta o orçamento no que diz respeito aos transistores, cujo fator limitante é o custo. Isso, por sua vez, está relacionado ao custo por wafer.
Lei de Amdahl: software não escala com o número de núcleos

A Lei de Amdahl foi cunhada por Gene Amdahl, um cientista da computação famoso entre outras coisas por ser o arquiteto do IBM System / 360. Embora a lei de Amdahl não seja um fenômeno físico, somos lembrados de que nem toda a carga de trabalho de um programa de computador pode ser paralelizada .
As consequências disso são que, embora certas partes do trabalho aumentem com o número de núcleos no sistema, outras partes, por outro lado, não podem escalar em paralelo, pois funcionam em série e dependem do poder de cada processador sozinho para escalar . . Portanto, as cargas de trabalho que não podem ser executadas em paralelo não aumentam de velocidade quando se trata do número de núcleos.

É por isso que os arquitetos, ao invés de tentar colocar cada vez mais núcleos nos processadores, projetam novas arquiteturas, cada vez mais eficientes. O principal objetivo dos projetos é reduzir o tempo que os processadores sozinhos levam para executar certas instruções.
Por outro lado, deve-se levar em consideração que o software é projetado de acordo com o hardware existente no mercado, a maior parte do software atual é otimizado para o número médio de núcleos que as pessoas possuem em seus PCs e embora exista um grau de escalabilidade, isso nunca é linear, mas sim logarítmico, então chega ao ponto em que certos aplicativos, independentemente de quantos núcleos um processador tenha ou mesmo quão rápido seja, não escalarão muito mais ou escalarão tão lentamente como antes.