CPUs Intel multi-cores: já chegamos ao limite de quantidade de núcleos?

Em 2005, a Intel promoveu uma pequena revolução na computação pessoal ao trazer para o mercado, o primeiro processador dotado de múltiplos núcleos físicos, dentro de uma mesma pastilha de silício: eis, o Pentium D! Embora ele não tenha sido o primeiro de sua categoria (há 4 anos antes, a IBM lançava a sua CPU dual-core Power 4), o Pentium D foi uma CPU dual-core que nasceu a partir da “fusão” de dois Pentium 4 single-core (baseado na arquitetura NetBurst) e se tornou uma febre para os entusiastas na época, ao prometer “o dobro do desempenho” computacional. Mas na prática, não foi bem assim que aconteceu…

Na época, os sistemas operacionais e suas aplicações não tiravam todo o proveito do seu potencial, por não terem sido concebidos para o uso em sistemas multi-nucleares. Para variar, estas CPUs só entregavam bons resultados apenas para os sistemas que executavam múltiplas aplicações ao mesmo tempo, balanceando a carga de trabalho entre os núcleos. Por fim, as limitações do seu design também não possibilitavam o uso dos núcleos de forma mais eficiente, já que ambos eram conectados através do lento e sobrecarregado barramento FSB. Sem falar que em termos tecnológicos, a própria arquitetura do Pentium 4/D não era um primor!

Até então, estas CPUs acessavam a memória RAM através dos canais de memória, que apesar de serem compartilhados, davam conta do recado. Mas a partir das unidades de 4 núcleos (quad-core), a utilização de memórias em modo dual-channel passou a ser uma boa recomendação para extrair o máximo de performance, que o sistema poderia oferecer (embora tais diferenças não fosse algo maior que 20%). Nestes tempos, as CPUs multi-núcleos evoluíram e passaram a contar com melhorias tanto tecnológicas quando de design, além da integração de um controlador de memória diretamente na unidade (antes, eles eram situados no chipset ponte norte) e do uso de barramentos internos de alta velocidade (QuickPath Interconnect).

A partir deste momento, o sinal de alerta foi “ligado”: seria possível adicionar mais mais núcleos em uma unidade física, sem causar o congestionamento dos canais de memória e assim, ocasionar a perda de performance? Felizmente, o subsistema de memória RAM sempre evoluiu com o passar do tempo, pois além de poder contarmos com novas tecnologias de memória RAM (DDR3, DDR4 e DDR5), as CPUs também passaram a vir com generosas quantidades de memória cache compartilhada, o que ajudou a equilibrar bastante esta delicada balança, que para variar passou a ficar mais crítica a partir do momento em que os IGPs também se tornavam mais potentes! No entanto, os sistemas já não adotavam mais o suporte para três ou quatro canais, em vista dos altos custos para a construção das placas-mães.

Então, estou equivocado em relação as minhas idéias em relação a este assunto?

Ao longo desses anos, a Intel e a AMD promoveram uma “corrida armamentista”, ao promover novos processadores com mais núcleos, maiores frequências e suporte para as tecnologias de memória RAM mais modernas, com o objetivo de oferecer os melhores produtos possíveis para o mercado. Mas desta vez, ambas irão adotar estratégias bem diferentes, no que concerne a evolução das suas unidades computacionais: enquanto que a Intel pretende adicionar mais núcleos em suas unidades (com base no design big.LITTLE), a AMD pretende manter (ou até mesmo limitar) a quantidade de núcleos em suas respectivas CPUs, prevendo o impacto delas no acesso ao subsistema de memória RAM!

Resumindo: esta novela terá novos capítulos! Até lá… &;-D