Review: Athlon64 X2 4800+ Dual Core

Fabricando um Dual Core

O projeto do Athlon64 / Opteron já previa o uso de múltiplos núcleos desde seu nascimento, por isso as conexões já existiam e foi relativamente fácil programar as ligações lógicas entre os processadores. Ainda tenho uma dúvida na ligação entre os dois núcleos dos processadores, pois se a documentação da AMD fala em um canal HyperTransport, que realmente é usado na comunicação entre diversos processadores em uma mesma placa mãe, em entrevistas com os engenheiros da empresa eles alegam que o canal é ainda muito mais veloz, pois está definido na camada System Request Queue CrossBarque em tese não tem limite de velocidade, pois permite a ligação de múltiplos núcleos sem a perda da banda.
O desenho acima mostra o esquema de ligação do Athlon64 e abaixo temos o do Opteron, que é basicamente o mesmo com exceção das três portas HyperTransport existentes nesse segundo enquanto no Athlon só há uma única porta de comunicação, e do canal de comunicação com a memória que se dá em 72 bits por causa do suporte ao ECC contra 64 do Athlon64.

Esse desenho é muito interessante, mas acrescenta um gargalo no sistema de memória. Se compararmos dois Opterons separados contra um de duplo núcleo, vemos que o primeiro caso tem um canal de memória de 6.4 GB/s para cada processador, totalizando 12.8 GB/s enquanto do Dual Core tem um único canal de 6.4 GB/s compartilhado para os dois núcleos. Se isso hoje não é grave, pode vir a ser quando forem combinados quatro ou mais núcleos em um mesmo processador.
mástere slave.
Segundo os engenheiros isso é uma decisão de fabricação / produção, ou seja, chegou-se a conclusão que nesse momento isso faz mais sentido em termos de eficiência do que produzir núcleos separados. Reparem na foto abaixo que o núcleo “slave” (o de cima) é ligeiramente diferente do “máster” (embaixo). A seta indica claramente uma região em branco, sem transistores, no núcleo slave.

Essa região é o System Request Queue CrossBarbem como os canais HyperTransport e a controladora de memória que passam a existir apenas no núcleo “máster”. Notem também que o “slave” está invertido em relação ao máster (ou espelhado, talvez fique mais claro de entender).
A região à esquerda, os dois grandes quadrados escuros, formam o cache de cada núcleo e correspondem a maior parte do tamanho físico do conjunto. Uma das conseqüências desagradáveis desse modelo é que o rendimento de núcleos bons por wafer, conhecido como yield,tende a ser pior do que o modelo de núcleos independentes. Por exemplo, se for constatado um dano físico no processador slave, esse pode ser cortado e o seu par “máster”, se estiver perfeito, pode se transformar em um processador Single Core, mas se o dano for no “máster”, ambos serão rejeitados porque o “slave” é incapaz de se tornar um Single Core por falta de componentes.
Isso me leva a crer em uma outra especulação: nesse momento a produção de núcleos Dual Core é extremamente reduzida, e sabemos que a maior parte dos danos identificados nos núcleos durante a produção se dá na região do cache, que é a maior e a mais densa de transistores. Não seria difícil acreditar que apenas os núcleos “Toledo”-com 1 MB de cache-estivessem de fato em produção, e que os modelos 4200+ e 4600+ fossem frutos de núcleos com cache parcialmente desabilitados.
Se essa especulação é verdadeira, isso leva a uma terceira conclusão que é a baixa produção desses processadores por wafer. É simples de explicar:

A imagem acima é do artigo

A AMD ainda usa wafers com 200mm de diâmetro, pequenos em relação ao Intel que já usa os de 300mm há algum tempo. Quanto menor o tamanho físico de um núcleo maior a quantidade de processadores produzidos, como é o caso do Winchester ou Venice, que são produzidos com 512KB de cache em tecnologia de 90 nanômetros. O núcleo duplo do Opteron e do Athlon64 X2 mede hoje 199mm², um pouco maior do que o ClawHammer original de 130 nanômetros .
A solução virá com o tempo, quando os “Manchester” forem de fato produzidos e por serem menores haverá mais rendimento por wafer. Em um segundo momento eu creio que a AMD adotará o conceito de núcleo independente, podendo se beneficiar de núcleos “sem par” que estejam funcionais, e em uma terceira fase a adoção dos wafers de 300mm já prevista para 2006. Só nessa fase é que veremos um sensível aumento na produção e consequentemente um aumento na oferta de modelos Dual Core a preços mais baixos.
