sexta-feira, 17 de dezembro de 2010

A saga dos soquetes desenvolvidos pela AMD


Quando a AMD lançou a arquitetura de processadores K8 - chamada comercialmente de Athlon 64 -, ela inovou ao trazer o controlador de memória para dentro do die (CPU), o que lhe rendeu uma série de vantagens: maior velocidade no acesso à memória, simplicidade de desenvolvimento de chipsets (menor custo) e menor dependência do cache L1/L2, o que garantiu uma boa performance geral para o sistema. No entanto, a cada vez que novas tecnologias relacionadas à memória RAM eram lançadas, modificações no projeto dos processadores eram necessários, culminando com a criação de novos soquetes...
Tudo começou com as primeiras famílias de processadores Athlon 64 (ClawHammer e NewCastle), para as quais foi projetado o soquete 754. Na época, a tecnologia padrão do mercado em termos de memória RAM era o DDR, onde estes módulos eram acessados através de um único canal (64 bits) e limitados à 400 MHz efetivos (3.2 GB/seg.). Inicialmente, ofereciam desempenho mais que suficientes para as necessidades computacionais da época (2003); no entanto, dado ao marketing agressivo da Intel por oferecer um processador com taxa de transferência duas vezes maior que o concorrente, a AMD foi obrigada a implantar o dual-channel para os seus processadores (entre outros motivos não relacionados). Nasceu então, o soquete 939.
Com a possibilidade de realizar o acesso simultâneo a dois módulos de memória RAM - desde que estes possuam as especificações técnicas equivalentes (sendo iguais) - a plataforma poderia oferecer o dobro de taxa de vazão (6.4 GB/seg.), privilegiando especialmente os sistemas que dispunham de IGPs, já que o acesso à memória do sistema passa a ser compartilhada com o vídeo onboard, mas, em termos de resultados práticos, tal vantagem mal oferecia uma margem 10% em termos de desempenho, sendo obtida apenas em aplicações com o uso intenso da memória RAM (exibição de gráficos com o IGP, decodificação de arquivos multimídia, etc). O principal motivo estava na exigência das aplicações, que ainda não exigiam tanto do sistema para tornar o canal de memória um gargalo.
Para variar, em alguns casos trazia uma leve - mas também imperceptível - perda de desempenho, devido à necessidade dos sistemas baseados em soquete 939 sincronizarem o acesso simultâneo entre os dois módulos. Por fim, enquanto que em sistemas baseados no soquete 754 em modo single-channel, poderíamos utilizar perfis agressivos na configuração das memórias, se fizéssemos o mesmo em sistemas baseados no soquete 939 em modo dual-channel, tais intervenções poderiam acarretar erros e instabilidades, devido especialmente à dificuldade de realizar a sincronização dos dois módulos. Não raro, éramos obrigados a utilizar valores mais altos que os nominais para o tempo de acesso, pois o uso dos módulos de diferentes fabricantes não possuíam exatamente as mesmas especificações técnicas.
Em termos de desempenho, a mudança de soquete não trouxe grandes vantagens, embora as revisões da arquitetura K8 trouxeram outros melhoramentos importantes, como suporte às instruções SSE3 e o canal HyperTransport mais veloz (1.0 GHz); mas em termos de marketing, permitiu se igualar à Intel por oferecer processadores com alta taxa de vazão de dados, através do tão desejado suporte ao dual-channel. No entanto, se avaliarmos os aspectos estratégicos, a mudança de plataforma se mostrou uma ideia ruim, pois trouxe inconvenientes: um deles, foi a ruptura com a primeira série de processadores. Os processadores projetados para o soquete 754 eram incompatíveis com o novo soquete e vice-versa: ambos, possuem pinagens diferentes. Os donos de placas-mãe baseadas no soquete 754 tinham poucas opções de upgrade para processadores, enquanto que os novos lançamentos eram direcionados para as placas-mãe baseadas no promissor soquete 939.
Para tornar a situação mais crítica ainda, os novos módulos de memória DDR2 estavam se popularizando, o que em breve iria obrigar a AMD lançar mais uma plataforma baseada em um novo soquete para acomodar os novos processadores. Mal a plataforma baseada no soquete 939 chegou ao mercado, já estava sendo substituída pela novíssima plataforma baseada no soquete AM2, onde seu único diferencial estava na possibilidade de utilizar os novos módulos de memória DDR2. E tal como aconteceu entre os soquetes 754 e 939, os processadores lançados para o soquete AM2 não eram compatíveis com o soquete 939: além da diferença de pinagem (939 e 940, respectivamente), os novos processadores Athlon 64 X2 foram lançados para a nova plataforma baseada no soquete AM2, deixando os donos das placas-mãe "antigas" (baseadas no soquete 939) com a possibilidade de fazer upgrades apenas para os processadores mono-core Athlon 64 FX. Os processadores dual-core compatíveis com o soquete 939 até existiam; o duro era encontrar!
Eis, que o drama ainda continua! As memórias DDR2 possuem até 2x mais taxa de transferência que os módulos DDR tradicionais, obtidos através da capacidade de transferir até 4 dados por ciclo de clock contra 2 dados do DDR). Em termos práticos, as DDR-400 funcionam a 200 MHz reais, mas por transferir 2 dados por ciclo, a sua velocidade efetiva é de 400 MHz; já as DDR2-800 também funcionam à 200 MHz, porém a sua velocidade efetiva será de 800 MHz devido aos 4 dados por ciclo que elas enviam. Poderíamos dizer que a sua velocidade real seria de 2x maior, se comparados os módulos DDR e DDR2 que possuam as mesmas frequências reais. Mas na prática, não é bem assim: os módulos DDR2 possuem tempos de latência muito mais altos que as DDR tradicionais, o que reduz bastante o desempenho da nova tecnologia. No geral, As DDR2-800 oferecem algo em torno de 15 a 20% de desempenho real acima das DDR-400.
A infelicidade da AMD estava no fato de que os primeiros módulos de memória RAM baseados no padrão DDR2 rodavam a 533 MHz efetivos, que em termos práticos, eram apenas 133 MHz reais. Os primeiros reviews comparativos feitos entre os processadores Athlon 64, baseados nas plataformas 939 e AM2, colocaram os módulos DDR-400 e DDR2-533 para duelarem, o que foi uma comparação bastante injusta. É só fazer as contas: embora os módulos DDR2-533 tenham 25% à mais de taxa de transferência, a alta latência reduzia consideravelmente o seu desempenho. Em poucas palavras: os antigos módulos DDR-400 davam uma verdadeira surra nos novos módulos DDR2-533, e as plataformas baseadas no soquete AM2 sentiram bastante este efeito! Com o passar do tempo, chegaram os módulos DDR2-667 (166 MHz reais), reduzindo bastante a diferença de desempenho, se comparados com os módulos DDR-400. Por fim, com a chegada dos módulos DDR2-800, o placar virou em favor para a nova tecnologia.
Nem é preciso dizer que, com todos estes percalços, a AMD teve uma série de dificuldades para colocar o seu produto no mercado. Com três soquetes distintos e incompatíveis para a mesma arquitetura de processadores, ela se viu rodeada de críticas por parte dos usuários, que se sentiam confusos e limitados com tantas restrições técnicas. Fazer upgrade de processadores na arquitetura Athlon 64 era uma aventura e tanto! Para variar, uma nova família de processadores estava sendo desenvolvida, para competir com a nova família de processadores Core 2 Duo, lançada pela Intel. Esta, manteve a compatibilidade com o soquete LGA-775 (o mesmo usado no Pentium 4 e Pentium D, que por sua vez abandonaram os antigos soquetes 423 e 478); mas, se não fossem às especificações do regulador de tensão VRM 11 (que impossibilitou usuários de placas-mãe mais antigas a fazer upgrades do Pentium IV para o Core 2 Duo), certamente teria uma vida muito longa...
Então, a AMD lança a família de processadores x86 K10, chamada comercialmente de Phenom. Junto dela, estreia a nova plataforma baseada no soquete AM2+, trazendo características bastante incomuns. Ambos (o processador e o soquete) tenham sido desenvolvidos tendo em mente, a compatibilidade com a arquitetura anterior: os processadores Athlon 64 (K8) podem ser utilizados em placas-mãe baseadas no soquete AM2+, ao mesmo tempo em que os novos processadores Phenom funcionam (quase) perfeitamente nas antigas placas-mãe baseadas no soquete AM2. Mas neste último caso, algumas concessões se fazem necessárias: o BIOS desta placa-mãe deverá ser atualizado para reconhecer o novo processador. Além disso, algumas novas tecnologias presentes no Phenom não poderiam ser usadas nas placas-mãe antigas (AM2), assim que as placas-mãe novas (AM2+) não habilitavam os mesmos recursos para o Athlon 64, como o novo barramento ponto-a-ponto HyperTransport 3.0 (com 2.0 GHz, o dobro da velocidade anterior), e os modos de economia de energia mais avançados.
Mesmo com todas estas inovações, a plataforma baseada no soquete AM2+ foi designada para ser transitória, pois os novos módulos de memória DDR3 já estavam disponíveis no mercado, (embora na época ainda a um custo proibitivo, se comparado com os DDR2). Eis então, que mais um soquete surge no fim do horizonte: o AM3! Embora o novo soquete traga o mesmo inconveniente causado pela transição dos módulos de memória DDR (em termos de desempenho, o módulo DDR3-1066 perde por larga margem de diferença para o DDR2-800), a retro-compatibilidade com o soquete anterior (AM2+) é garantida, permitindo que os processadores Phenom designados para as placas-mãe antigas (AM2+) funcionem nas novas placas-mãe (AM3), mas com a vantagem de não haver os recursos desabilitados por se tratar da mesma arquitetura (embora um upgrade de BIOS se faça necessário para as placas-mãe antigas). No entanto, os processadores Athlon 64 não podem ser utilizados nas novas placas-mãe baseadas no soquete AM3, já que os seus controladores de memória não suportam o novo padrão DDR3.
Esta não pode ser uma combinação perfeita de mistura entre arquitetura de processadores e placas-mãe baseadas nos novos soquetes, se considerarmos os soquetes AM2, AM2+ e AM3. No entanto, devemos reconhecer que a AMD fez um trabalho relativamente bom, ao criar todas estas formas de retro-compatibilidade, para não deixar os seus usuários na mão, que não terão as mesmas possibilidades, caso estes sejam donos de produtos baseados nos antigos soquetes 754 e 939. Porém, tenham em mente de que todas estas complicações passaram a existir por cauda do controlador de memória: sendo integrado diretamente na CPU, toda e qualquer mudança feita (como as transições de tecnologias e os novos recursos implementados) implicará diretamente no design dos soquetes. Antes, quando o controlador de memória era integrado diretamente no chipset, bastava apenas uma "simples" alteração no projeto do chipset, para que os sistemas passassem a ser compatíveis com diferentes tecnologias relacionadas ao subsistema de memória. Por exemplo, o soquete 462 era compatível tanto com memórias SDR quando DDR (embora as frequências adotadas no barramento FSB obrigassem os usuários a adquirirem novas placas-mãe), além de dispor do dual-channel (de acordo com o chipset utilizado).
Mas infelizmente, a "saga dos soquetes desenvolvidos pela AMD" terá mais um capítulo à parte, com o lançamento da nova arquitetura de processadores Bulldozer: a nomenclatura do novo soquete a ser criado para suportar esta plataforma (AM3+), dá a entender que trará a retro-compatibilidade com os soquetes e arquiteturas anteriores, tal como tem acontecido desde então. Infelizmente, não será bem assim: devido ao grande número de inovações trazidas pela nova arquitetura, adaptá-la para funcionar em placas-mãe "antigas" (AM3), assim como permitir que os "antigos" processadores funcionassem nas placas-mãe baseadas no "novo" soquete (AM3+), não só deixaria a nova plataforma castrada, como também aumentaria os custos necessários para prover toda esta infraestrutura. Em poucas palavras: a retro-compatibilidade será inviável tanto na parte técnica, quanto financeira e até mesmo logística.

0 comentários:

Postar um comentário