O mercado de processadores é bastante competitivo. Atualmente temos a predominância da Intel e AMD, com uma pequena participação da VIA, mas diversas outras empresas, incluindo a IBM, Texas, Transmeta, Cyrix (que acabou sendo comprada pela VIA) e IDT já tentaram a sorte, sem tanto sucesso.
Fabricar processadores é muito mais complexo e arriscado do que fazer placas-mãe ou telas de LCD por exemplo, pois os projetos são muito mais complexos e o investimento inicial absurdamente maior. Leva-se pelo menos 5 anos para projetar um novo processador e é necessário investir mais 2 a 4 bilhões de dólares para montar uma fábrica de ponta.
Mesmo para uma grande empresa, como a Intel, um erro estratégico pode custar muito caro. Investir em uma plataforma ineficiente pode gerar um atraso de vários anos, até que seja concluído o projeto de um novo processador mais competitivo e seja possível produzi-lo em quantidade.
Com o lançamento do Pentium 4, em 2000, a Intel fez um movimento arriscado, investindo em um processador com um longo pipeline (a primeira versão do Pentium 4 trabalhava com 20 estágios, contra 10 do Pentium III). Dobrar o número de estágios no processador é como dobrar o número de funcionários em uma linha de produção, fazendo com que cada um faça metade do trabalho e a esteira corra duas vezes mais rápido.
O plano era simples: com mais estágios, o processador seria capaz de atingir frequências mais altas. Para manter as unidades de execução abastecidas, o processador contaria com um cache L1 muito rápido, que armazenaria instruções pré-decodificadas, um grande cache L2 e utilizaria um tipo mais rápido de memória RAM, as famosas memórias Rambus.
Entretanto, o tempo mostrou que esse design possuía inconsistências óbvias. Adicionar mais estágios tornou o processador menos eficiente, pois as instruções precisavam do dobro do número de ciclos para serem executadas, fazendo com que o processador perdesse muito tempo em operações de tomada de decisão, em que ele depende do resultado de uma instrução para processar a próxima.
Possuir o dobro de estágios significa também possuir mais transistores e consumir mais energia por ciclo de processamento. Se isso vem acompanhado de um aumento no clock, chegamos a um processador ineficiente, que consome muito mais energia e dissipa muito mais calor.
Por armazenar instruções decodificadas, o cache L1 do Pentium 4 também se tornou menos eficiente, já que instruções decodificadas ocupam mais espaço. Enquanto o Athlon possuía 64 KB (metade) do cache L1 reservado para armazenar instruções, o cache do Pentium 4 Willamette armazenava o equivalente a apenas 8 KB. Isso tornava o processador mais dependente do cache L2 (que devia ser obrigatoriamente maior, para que o processador mantivesse um bom nível de desempenho) e do barramento com a memória RAM, que deveria ser capaz de alimentar os caches.
O Pentium 4 original (core Willamette) possuía apenas 256 KB de cache L2, por isso era consideravelmente mais lento que um Athlon, ou mesmo um Pentium III do mesmo clock. O core Northwood, lançado em seguida, trouxe 512 KB de cache e o Prescott (lançado em 2004) trouxe 1 MB completo.
Pentium 4 com core Prescott
O cache L2 é um item extremamente caro, pois cada bit de cache adiciona 4 ou 6 transistores ao processador, de acordo com o layout usado. Um cache L2 de 1 MB ocupa pelo menos 40 milhões de transistores, mais do que o total usado no Athlon Palomino (que possuída 37.5 milhões). Mais transistores tornam o processador proporcionalmente mais caro de se produzir, o que aumenta o preço de venda.
Para completar, existiu o problema das memórias Rambus, que praticamente paralisou as vendas das primeiras versões do Pentium 4 até que os chipsets com suporte a memórias SDRAM chegassem ao mercado.
Com o Pentium 4 Northwood, a Intel voltou a ser competitiva, chegando rapidamente aos 3.4 GHz. Foi introduzido também o Hyper Threading, que permitia ao Pentium 4 processar dois threads simultaneamente, simulando um processador dual-core. O plano da Intel, de compensar a baixa eficiência do Pentium 4 com frequências de clock maiores, parecia estar dando certo. Na época, o roadmap da Intel mostrava processadores Pentium 4 com core Prescott atingindo 5.2 GHz no final de 2004 e planos para o core “Tejas”, que alcançaria impressionantes 10 GHz no final de 2005.
Porém, nada disso aconteceu. Os 3.4 GHz se tornaram uma barreira difícil de transpor. A partir daí, a Intel conseguiu apenas pequenos incrementos de clock, atingindo a muito custo os 3.8 GHz com o Prescott, que além de ser produzido numa técnica de 0.09 micron, teve o pipeline esticado para um total de 31 estágios. Acima de 3.8 GHz, o gate leakage (ou seja, a eletricidade perdida pelos transistores do processador a cada ciclo), tornava o consumo e a dissipação térmica altos demais.
Embora seja possível superar a barreira dos 4.0 GHz com o Prescott, via overclock, o resultado é um processador beberrão demais. É como se cada transistor do processador fosse um minúsculo cano, por onde passa água. Quanto menores os transistores, mais finos são os canos e quanto maior o clock, mais forte é a pressão da água.
Os transistores são compostos por filamentos muito finos, o que causa uma pequena perda de energia a cada chaveamento, chamada de gate leakage. É como se os canos do exemplo possuíssem pequenos furos por onde vaza uma pequena quantidade de água. Conforme o clock aumenta, a pressão se torna mais forte e cada vez mais água vaza pelos canos, gerando um desperdício cada vez maior. No caso do processador, toda a energia desperdiçada se transforma em calor, o que traz a necessidade de um cooler mais eficiente, gerando um ciclo vicioso.
Ultrapassar os 3.8 GHz com o Prescott resultava em um aumento cada vez maior no consumo e na dissipação térmica do processador, em troca de um aumento cada vez menor na frequência de operação.
O pequeno aumento no clock proporcionado pelo core Prescott serviu mais para encobrir a perda de desempenho causada pelo novo aumento no número de estágios do pipeline do que para realmente aumentar o desempenho, transformando o Prescott em um dos maiores fiascos da história da Intel.
O Cedar Mill, lançado no início de 2006, mais uma vez mostrou a dificuldade em produzir processadores Pentium 4 com clock mais alto. Mesmo produzido numa técnica de 65 nm, o Cedar Mill não foi capaz de superar a barreira dos 3.8 GHz. Ao invés disso, a Intel optou por produzir processadores dual core (baseados no core Presler), chegando ao Pentium Extreme Edition 965, que opera a 3.73GHz. Em resumo: em dois anos, a Intel conseguiu apenas ganhos incrementais de desempenho na plataforma Pentium 4. Caminhou bastante, porém para o lado e não para a frente.
Naturalmente, a AMD não ficou parada. Depois do Athlon Palomino e do Thoroughbred, a AMD lançou o Barton, que trouxe pequenas melhorias de projeto e 512 KB de cache L2. Além de ser usado nas versões mais rápidas do Athlon XP, o core Barton foi utilizado nos Semprons 2400+ a 3000+, os últimos processadores lançados para o saudoso soquete A.
A partir daí, tivemos os Athlon 64, Athlon 64 FX, Athlon 64 X2 e os Semprons para as placas soquete 754, 939 e AM2. Pela primeira vez na história, a AMD tomou a dianteira, produzindo processadores mais rápidos que a Intel e fazendo seu padrão de instruções de 64 bits (o AMD64) prevalecer, obrigando a Intel a desenvolver o EM64T, um conjunto compatível de instruções, incluído no Pentium 4 com core Prescott, sem muito alarde.
De fato, a participação da AMD no mercado só não cresceu mais neste período devido à sua incapacidade de produzir seus processadores em maior volume. Assim como é demorado desenvolver um novo projeto, também é caro e demorado inaugurar novas fábricas.
Entretanto, sendo uma empresa tão grande, a Intel pode se dar ao luxo de manter vários projetos em desenvolvimento simultaneamente, tendo um plano B à disposição caso as coisas dêem errado.
No caso do NetBurst o plano B era o Banias, uma plataforma de baixo consumo, que vinha sendo desenvolvida por engenheiros da unidade de Israel com base no projeto do Pentium III. A ideia era modernizar a arquitetura P6, produzindo um processador com um IPC mais alto (ou seja, mais instruções processadas por ciclo) e com um consumo elétrico mais baixo.
Inicialmente o objetivo era desenvolver uma nova plataforma de processadores para notebooks (área na qual o Pentium 4 era especialmente problemático), mas a plataforma se revelou tão promissora que eventualmente foi adotada como a base para o desenvolvimento da próxima plataforma para desktops da Intel: a plataforma Core.
A versão original do Banias foi lançada em 2003, na forma da primeira versão do Pentium-M. Ela foi fabricada usando técnica de 0.13 micron, com 64 KB de cache L1 e 1 MB de cache L2 e em versões de até 1.6 GHz. O barramento com o chipset (o principal ponto fraco do Pentium III) foi substituído pelo mesmo barramento de 400 MHz utilizado no Pentium 4, reduzindo o gargalo na conexão com a memória.
O Banias recebeu ainda o reforço das instruções SSE2 e uma versão aprimorada do SpeedStep (usado anteriormente nas versões mobile do Pentium III e do Pentium 4), que gerencia dinamicamente o clock, tensão e componentes internos do processador, desativando os componentes que não estão em uso e reduzindo a frequência nos momentos de pouca atividade, diminuindo bastante o consumo do processador. Um Banias de 1.6 GHz usava 24 watts ao operar na frequência máxima, mas o consumo caía para pouco mais de 4 watts quando o processador estava ocioso, operando na frequência mínima.
O Banias mostrou ser um processador bastante promissor. Mesmo com o agressivo sistema de gerenciamento de energia (que causava uma pequena diminuição no desempenho, mesmo quando o processador operava na frequência máxima), o Banias era cerca de 50% mais rápido que um Pentium 4 Northwood do mesmo clock, rivalizando com as versões desktop do Athlon XP.
Em 2004 foi lançado o Pentium-M com core Dothan, equipado com 2 MB de cache L2, melhorias no circuito de branch prediction, um reforço nas unidades de execução de inteiros e melhoria no acesso aos registradores. Combinadas, estas melhorias resultaram num ganho real de cerca de 8% em relação a um Banias do mesmo clock. O Pentium M com core Dothan atingiu 2.0 GHz (Pentium M 755), com um consumo de apenas 21 watts, menos que o Banias de 1.5 GHz.
Aproveitando o baixo consumo do Dothan, a Intel desenvolveu o Yonah, um processador dual-core para notebooks, produzido usando uma técnica de 65 nm. O Yonah original passou a ser vendido sobre a marca “Core Duo”, enquanto uma versão de baixo custo, com um único core assumiu a marca “Core Solo”.
Assim como o Dothan, o Yonah era equipado com 2 MB de cache L2. Entretanto, em vez de ser dividido entre os dois cores (1 MB para cada um), o cache era compartilhado, permitindo que ambos os cores acessassem os mesmos dados, evitando assim duplicação de informações e desperdício de espaço. Nos momentos em que o processador está parcialmente ocioso, o segundo core pode ser completamente desligado (para economizar energia), deixando o primeiro core com um cache de 2 MB inteiramente para si.
A desvantagem do cache compartilhado é que ele aumentou o tempo de latência: eram necessários 14 ciclos para acessar alguma informação no L2 do Yonah, contra 10 ciclos do Dothan. Apesar disso, o Yonah possuía dois núcleos, o que acabava compensando a diferença e proporcionando um bom ganho em relação ao Dothan. Outro pequeno ganho foi proporcionado pela inclusão das instruções SSE3.
O Yonah recebeu uma versão atualizada do sistema de gerenciamento de energia introduzido no Banias, que passou a ser capaz de desligar completamente componentes ociosos dentro do processador, mantendo apenas um dos cores ou mesmo apenas parte dos componentes de um dos cores ativos em momentos de pouca atividade. Graças a isso, o consumo médio de um Core Duo em tarefas leves, não era muito diferente de um Core Solo do mesmo clock, o que acabou juntando o melhor dos dois mundos.
Ao executar tarefas pesadas, um Core Duo de 2.0 GHz consumia 31 watts, contra 21 watts do Dothan do mesmo clock. Ou seja, mesmo com os dois cores ativos simultaneamente, o consumo aumentava menos de 50%, muito longe de dobrar, como seria de se esperar.
Percebendo o potencial da nova plataforma, o departamento de marketing da Intel passou a falar em “eficiência” em vez de frequências de clock mais altas. Os planos frustrados de lançar um processador de 10 GHz baseado no Pentium 4 foram varridos para debaixo do tapete e a meta passou a ser lançar processadores que executem mais processamento com menos energia, exacerbando os pontos fortes dos processadores Core Solo e Core Duo, baseados no core Yonah.
Este slide do IDF 2006 dá uma amostra do novo discurso. Ele mostra como a eficiência energética (o volume de eletricidade necessária para processar cada instrução) dos processadores vinha caindo desde o Pentium, atingindo seu nível mais baixo com o Pentium 4 Dual Core, até a introdução do Banias, Dothan e Yonah; uma posição pouco honrosa para o Pentium 4, que (segundo a própria Intel) precisava de 5 vezes mais eletricidade para fazer o mesmo trabalho:
Poucos meses depois, a Intel lançou o Core 2 Duo, abandonando rapidamente a produção do Pentium D e do Celeron D, que passaram a ser vendidos a preços extremamente baixos para desovar os estoques.