Apresentando o Core 2 Duo

Apesar de possuir um desempenho por ciclo de clock muito superior ao do Pentium 4 e do Pentium D, superando-os em muitas aplicações, o Yonah era um processador mobile e por isso era limitado a frequências de operação relativamente baixas.

Surgiu então o Conroe, uma versão aperfeiçoada do Yonah, com foco no uso em desktops, que deu origem às primeiras versões do Core 2 Duo, lançadas em junho de 2006. Embora seja um chip radicalmente diferente, ele foi produzido utilizando a mesma técnica de 0.065 micron utilizada na produção do Cedar Mill e do Presler. Foi mantido também o mesmo encapsulamento, o mesmo barramento de dados e o uso do soquete LGA-775.

Praticamente todas as placas soquete 775 produzidas a partir de 2006 oferecem suporte ao Conroe, embora muitas precisem de um upgrade de BIOS. O grande problema são as placas antigas, que incluem quase todas as placas produzidas em 2004 e 2005 e parte das placas produzidas nos primeiros meses de 2006.

O Core 2 Duo precisa de uma placa com um regulador de tensão compatível com a especificação VRM 11, que foi finalizada apenas em 2006. Sem um regulador de tensão compatível, a placa não tem como gerar as tensões utilizadas pelo processador e acaba sendo incompatível, mesmo que utilize um chipset compatível e um BIOS capaz de reconhecer corretamente o processador.

Todos os Core 2 Duo utilizam o soquete 775, sem nenhum tipo de compatibilidade com as antigas placas soquete 478, que ficam limitadas aos Pentium 4 e Celeron D.

4a164de9

Core 2 Duo

Apesar das melhorias na arquitetura, o Conroe ainda não inclui um controlador de memória integrado, que continuou sendo uma exclusividade dos processadores da AMD até a introdução do Core i7, em 2009.

A presença do controlador de memória foi uma arma importante para o Athlon 64 e o Athlon X2, já que permitia que eles trabalhassem com tempos de acesso consideravelmente mais baixos à memória RAM, ajudando assim a reduzir a pressão sobre os caches. O Athlon 64 também levava vantagem por possuir 128 KB de cache L1 (64k dados + 64k instruções), o dobro do Conroe, que possui apenas 64KB (dividido em dois blocos de 32 KB, para dados e instruções):

m196ff917

Foto de divulgação da Intel que mostra o encapsulamento do processador

Em compensação, o cache L1 do Conroe trabalha com 8 linhas de associação, contra apenas duas do Athlon 64. Isso torna o cache mais eficiente, aumentando a probabilidade da informação necessária ser encontrada. A segunda vantagem é o massivo cache L2, que além de maior, é acessado através de um barramento de dados de 256 bits, muito mais largo que o usado no Athlon 64 (que usa um barramento de 128 bits). Uma observação é que o Conroe voltou a utilizar um cache L1 tradicional, sem vestígios do “trace cache” usado no Pentium 4, que armazenava instruções decodificadas.

Até o core Manchester, a AMD utilizava um cache L2 com 12 tempos de latência, o que representava uma pequena vantagem em relação ao Conroe, que utiliza um cache L2 com 14 tempos. Apesar disso, a partir do core Brisbane, a AMD passou a também utilizar um cache L2 com 14 tempos, o que equilibrou a balança. Para efeito de comparação, o Prescott utilizava um cache L2 com absurdos 28 tempos de latência, muito mais lento que ambos.

A maioria das versões do Core 2 Duo utilizam bus de 1066 MHz (4x 266), o que ajuda a reduzir a latência do acesso à memória, reduzindo a vantagem do Athlon 64 neste quesito. Aparentemente, a Intel chegou à conclusão de que o novo cache, combinado com o uso de memórias DDR2 ou DDR3 de baixa latência ofereciam um desempenho “bom o bastante” no caso do Conroe, tornando desnecessário o uso de um controlador de memória integrado.

Muitas das melhoras estruturais do Conroe em relação ao Pentium 4 e processadores anteriores da Intel já estavam disponíveis no Dothan e Yonah, mas vou abordá-las em conjunto para simplificar a explicação.

Uma das melhoras mais significativas da plataforma Core é o recurso batizado de Macro-fusion, que permite que diversos pares de instruções comuns sejam combinados em uma única instrução, em vez de serem processados separadamente. Isto causa um efeito cascata, economizando espaço nos buffers, economizando processamento no agendador de instruções (scheduler), e assim por diante, resultando num ganho bruto de até 11%.

O Conroe possui 3 decodificadores de instruções simples e mais um decodificador de instruções complexas, 4 no total. Graças ao Macro-fusion, uma percentagem significativa das instruções são combinadas (um par em cada 10 instruções, segundo os engenheiros da Intel), permitindo que em quase metade dos ciclos sejam decodificadas 5 instruções. O Athlon 64 possui apenas 3 decodificadores, capazes de lidar tanto com instruções simples (as mais comuns), quanto com instruções complexas. Isso significa que, na maior parte do tempo, os 4 decodificadores do Conroe levam uma grande vantagem, mas em alguns aplicativos que utilizem predominantemente instruções complexas, o Athlon 64 se sai melhor.

O Conroe leva uma grande vantagem também ao processar instruções SSE de 128 bits, pois é capaz de processá-las diretamente, num total de 3 instruções completas por ciclo. O Athlon 64 também possui três unidades SSE, mas nele cada instrução SSE precisa ser dividida em duas instruções de 64 bits, que são processadas separadamente. Ou seja, na prática, o Athlon 64 processa apenas três instruções SSE a cada dois ciclos, ou seja, o equivalente a apenas uma instruções SSE e meia por ciclo.

Atualmente, os conjuntos SSE, SSE2 e SSE3 são utilizados na grande maioria dos games, programas de processamento de vídeo e assim por diante, onde as instruções SSE são usadas como substitutas mais rápidas para instruções x87, executadas através do coprocessador aritmético. Isso acentua a vantagem do Conroe em aplicativos muito otimizados para as instruções SSE, sobretudo programas de compressão de vídeo e áudio.

Para efeito de comparação, o Pentium 4 possuía apenas duas unidades SSE, que, como as do Athlon 64, eram capazes de processar apenas meia instrução por ciclo. Como resultado, o Conroe possui três vezes mais processamento bruto em SSE que o Pentium 4, o que explica a enorme diferença entre os dois em alguns benchmarks.

Outro reforço são as unidades de ponto flutuante (que formam o coprocessador aritmético) capazes de processar 4 instruções de dupla precisão por ciclo, contra apenas 3 por ciclo do Athlon 64. Em relação ao Presler, foi mantido também o suporte ao EM64T, que torna o Conroe compatível com os sistemas e aplicativos de 64 bits, desenvolvidos para o Athlon 64 (um pré-requisito para qualquer processador x86 atual).

Outro recurso suportado é o Intel VT, um sistema de virtualização via hardware que é necessário para usar o recurso de emulação do Windows XP no Windows 7 e alguns outros softwares de emulação, como o KVM (no Linux) e o Virtual PC. Outros softwares, como o VMware e o VirtualBox oferecem sistemas alternativos e por isso funcionam perfeitamente sem ele, o que faz com que ele seja um recurso desejável, mas não obrigatório. O similar da AMD é o AMD-V , que está disponível desde o Athlon 64 com core Orleans.

Você deve se lembrar do pipeline de 31 estágios do Pentium 4 com core Prescott. Sempre que o processador chega a uma operação de tomada de decisão, ele precisa esperar a conclusão do processamento da primeira instrução (o que, no Prescott, demora 31 ciclos) para saber quais instruções deve processar em seguida. Para não ficar parado, o processador utiliza o circuito de branch prediction, que escolhe o caminho mais provável, permitindo que o processador adiante o processamento de outras instruções enquanto estera. O problema é que sempre que é feita a escolha errada, todo o trabalho precisa ser descartado, causando uma grande perda de tempo.

O Conroe possui um pipeline de apenas 14 estágios e um circuito de branch prediction muito aprimorado em relação ao Pentium 4. Isso faz com que ele tome bem menos decisões erradas e perca muito menos tempo (menos da metade do número de ciclos) em cada um, gerando um grande aumento no número de instruções efetivamente processadas por ciclo de clock.

O mais interessante é que, apesar de possuir apenas 14 estágios e ser muito mais eficiente, o Conroe atingiu 2.96 GHz (no X6800) logo no lançamento, se aproximando das frequências atingidas pelo Pentium 4 e superando por uma boa margem o clock dos Athlon X2.

Os Core 2 Duo também oferecem suporte ao SpeedStep (como nos Pentium-M), que ajuda a reduzir o consumo para níveis ainda menores, sem prejudicar de forma perceptível o desempenho. Com o SpeedStep ativado, o processador reduz a frequência de operação e a tensão (diminuindo consideravelmente o consumo), mas volta ao clock máximo assim que é executada alguma tarefa pesada. No Extreme X6800, por exemplo, o processador trabalha nativamente a 2.93 GHz e usa 1.34v. No modo de economia, a frequência cai para 1.6 GHz e a tensão para apenas 0.9v, resultando num consumo de apenas 25 watts, similar ao de um Pentium III 900.

Temos aqui uma foto do Conroe antes do encapsulamento do processador, divulgada pela Intel. Na verdade, as versões baseadas no core Conroe com 2 e 4 MB de cache são idênticas, porém as de 2 MB têm metade do cache desativado antes do encapsulamento, como nos Celeron:

m16f96d57

Foto mostrando os componentes internos do Core 2 Duo baseado no Conroe

Outro recurso herdado do Yonah, e por enquanto exclusivo dos processadores Intel, é o “Advanced Smart Cache”, um sistema de cache unificado, onde os dois núcleos compartilham o mesmo bloco de cache L2, em vez de cada um possuir um cache separado, como no caso do Pentium D e do Athlon X2.

A principal vantagem desta abordagem é evitar a duplicação de informações quando ambos os núcleos estão trabalhando no mesmo bloco de instruções. Em vez de a informação ser carregada duas vezes na memória (uma vez para cada bloco de cache) e ser armazenada duas vezes, tudo é feito uma vez só, o que poupa tanto o barramento com a memória, quanto economiza espaço no cache, aumentando o número de informações efetivamente armazenadas. Outra vantagem é que, em momentos de baixa atividade, quando apenas um dos núcleos estiver ativo, ele pode “tomar conta” do cache, reservando a maior parte do espaço para si, de forma a trabalhar mais eficientemente.

Este slide da Intel ilustra como o sistema funciona:

70cd48d4

Criar um cache unificado representou um grande desafio do ponto de vista técnico, já que com ambos os processadores acessando o cache simultaneamente, constantemente gravando e apagando informações, é muito difícil manter a coerência do cache, evitando que um modifique as informações armazenadas pelo outro. Os circuitos necessários para coordenar o acesso ao cache ocuparam um grande número de transistores do processador, mas uma vez que o problema foi resolvido, o Smart Cache realmente representa uma vantagem importante.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X