Índice das dicas

AMD: A plataforma K10

Por Carlos E. Morimoto em 13 de agosto de 2009 às 19h24

40

Todos os processadores atuais da AMD são descendentes da plataforma K7, que deu origem aos primeiros modelos do Athlon, com os quais a AMD deu combate às variações do Pentium III e do Pentium 4. Em 2003, a plataforma foi atualizada, ganhando suporte a instruções de 64 bits, o controlador de memória integrado e outras melhorias, o que deu origem à plataforma K8, usada nos diferentes modelos do 64, X2, FX e Opteron. Ela foi a plataforma mais bem sucedida da AMD, com a qual ela conseguiu roubar espaço da Intel tanto nos desktops quanto nos servidores, capitalizando sobre as deficiências da plataforma NetBurst.

Em 2006 a Intel contra-atacou com a plataforma Core, que pegou a AMD de surpresa, oferecendo um desempenho clock por clock consideravelmente superior na maioria das aplicações e, ao mesmo tempo, um consumo elétrico mais baixo. Pressionada, a AMD foi obrigada a recuar, passando a competir com base no custo.

Não demorou para que começassem a surgir informações sobre o "Barcelona", um processador quad-core nativo, destinado a suceder a plataforma K8. Para evitar trocadilhos a AMD decidiu pular o "K9" (que é o nome da conhecida unidade de cães farejadores), adotando o codenome K10.

O Barcelona acabou sendo efetivamente lançado em 2007, na forma dos Opteron Quad-Core, destinados a concorrer com os Xeon quad-core da Intel no ramo dos servidores. A versão para desktops veio um pouco depois, dando origem à família Phenom.

phenom

Este diagrama, divulgado pela AMD, mostra detalhes sobre os componentes internos do K10, com destaque para os 4 núcleos e o cache L3 compartilhado:

k10_html_5e534cbd

Como você pode ver, ele é composto por 4 núcleos idênticos, cada um contendo seu próprio cache L1 (de 128 KB, dividido em dois blocos de 64 KB, para dados e instruções) e 512 KB de L2. Entre os processadores temos os circuitos referentes ao Crossbar Switch (o componente responsável por dividir as requisições entre os dois cores e controlar o acesso de ambos ao controlador de memória, entre outras funções) e outros circuitos de gerenciamento.

No centro temos o bloco referente ao controlador de memória (que é compartilhado por todos os núcleos) e do lado esquerdo temos o cache L3, também compartilhado pelos 4 núcleos. O Barcelona inclui também quatro links HyperTransport. Um é usado para a conexão com o chipset, enquanto os outros três ficam disponíveis para a comunicação com outros processadores, o que permite a criação de sistemas com dois ou até mesmo 4 processadores, cada um com 4 núcleos.

À primeira vista, parece que o K10 é uma simples expansão do Athlon 64 X2, onde foram adicionados mais dois núcleos e o cache L3 compartilhado, de forma a produzir um sistema similar ao Quad-FX, porém composto de um único processador. Entretanto, uma análise mais minuciosa revela outras melhorias.

Além de adicionar os dois núcleos adicionais, a AMD fez um trabalho de aperfeiçoamento no X2, eliminando gargalos e adicionando novos recursos. A primeira mudança diz respeito ao processamento das instruções SSE, área onde o Conroe e os demais processadores baseados na plataforma Core superam o Athlon 64 por uma boa margem.

O problema fundamental da arquitetura K8 neste quesito é o fato de serem utilizadas unidades SSE de 64 bits. Isso faz com que instruções SSE de 128 bits precisem ser divididas e processadas na forma de duas instruções de 64 bits separadas, que consomem dois ciclos de clock.

Em comparação, o Conroe é equipado com unidades SSE de 128 bits, capazes de processar as instruções em um único ciclo. Embora isso tenha representado um grande aumento no volume de transístores do processador, a AMD conseguiu equilibrar a balança, também equipando o K10 com unidades SSE de 128 bits.

A ampliação das unidades SSE foi acompanhada também por melhorias no cache e nos decodificadores. O K8 era capaz de realizar duas transferências de 64 bits por ciclo do cache L1 para as unidades SSE, e os decodificadores de instruções eram dimensionados para alimentar as unidades de execução com 16 bytes de instruções por ciclo. No K10, as transferências do cache L1 para as unidades SSE passarem a ser de 128 bits e os decodificadores passaram a ser capazes de alimentar as unidades de execução com 32 bytes por ciclo, tudo dimensionado de forma a acompanhar a ampliação das unidades SSE. A AMD chama esse conjunto de melhorias de "SSE128".

Com relação ao acesso aos caches, o K10 continua sendo inferior ao Penryn e ao Conroe, já que eles possuem caches muito maiores. Ao optar por utilizar um controlador de memória integrado no K8 e, em seguida, por utilizar uma arquitetura quad-core no K10, a AMD sacrificou um brutal número de transístores que de outra forma poderiam ser utilizados para incluir um grande cache L2, assim como nos processadores Intel (a AMD foi capaz de ampliar o cache apenas ao migrar para a técnica de 45 nanômetros, durante o desenvolvimento do Phenom II).

wafer

A principal arma do K10 contra as deficiências no cache é o controlador de memória integrado, que recebeu duas pequenas melhorias. Em primeiro lugar, em vez de um grande controlador de memória de 128 bits, que realiza acessos aos dois módulos de memória simultaneamente, ele passou a incluir dois controladores de 64 bits independentes. Isso representa uma pequena redução nos tempos de latência, pois duas leituras podem ser realizadas de forma independente, permitindo que sejam realizados dois acessos (de 64 bits) a endereços diferentes, ao invés de um único acesso (de 128 bits) a endereços sequenciais.

Outra melhoria foi uma expansão dos buffers do controlador de memória, desenvolvida para tirar melhor proveito dos bursts oferecidos pelos módulos DDR2 e DDR3. Basicamente, os módulos de DDR2 e DDR3 oferecem taxas de transferência muito mais altas, mas em compensação trabalham com tempos de latência relativamente altos. Ao invés de realizar várias operações de escrita separadas (tendo que arcar com um lento acesso inicial para cada uma delas), o controlador pode acumular um certo volume de dados e escrevê-los de uma vez em uma única rajada de operações de escrita. Isso permite que as operações de escrita tomem menos tempo, deixando mais ciclos livres para as operações de leitura.

Em seguida temos as melhorias no funcionamento dos caches, desenvolvidas de forma a melhorar sua eficiência. Novos dados, selecionados pelo circuito de prefetch, são carregados diretamente para o cache L1, ao invés de passarem primeiro pelo cache L2, minimizando o tempo de acesso inicial. Nem todos os dados carregados pelo circuito de prefetch são úteis, já que ele trabalha tentando "adivinhar" de quais dados o processador precisará em seguida, mas o fato do processador possuir 128 KB de cache L1 permite que a AMD se dê ao luxo de armazenar alguns dados desnecessários de forma a acelerar o acesso aos demais.

Conforme novos dados são carregados, informações antigas vão sendo descartadas. Entretanto, em vez de serem apagadas, as informações são movidas para o cache L2 e em seguida para o cache L3 compartilhado, onde podem ser recuperadas rapidamente caso sejam necessárias mais tarde.

Ou seja, em vez de armazenar um grande volume de informações nos caches, como no caso dos processadores Intel, a AMD optou por usar um cache mais "fluído" onde é priorizado o tempo de acesso à novas informações. Combinadas com as melhorias no controlador de memória, este novo sistema tem tudo para oferecer um ganho de mais alguns pontos percentuais em relação ao desempenho dos Athlon X2.

Outro pequeno conjunto de melhorias foi feito no circuito de branch prediction, responsável por "adivinhar" qual caminho o processador deve seguir enquanto não conhece o resultado de operações de tomada de decisão. Além de ter ganhado um circuito aprimorado, capaz de calcular o resultado de derivações indiretas (assim como no Conroe), o histórico de operações tem o dobro da capacidade.

O histórico armazena os resultados de operações de tomada de decisão executadas anteriormente, informações que são usadas pelo circuito de branch prediction para prever o caminho mais provável para novas operações. Com um histórico maior, o circuito de branch prediction torna-se mais eficiente, embora seja muito difícil calcular o ganho baseado apenas em informações teóricas.

As "derivações indiretas" (indirect branches) são usadas em funções que envolvem diversas possibilidades, como ao usar funções "case" ou "switch" em que o programador estabelece diversas possibilidades, de acordo com o resultado de uma condição. Como era de se esperar, essas operações representam um desafio muito maior para o circuito de branch prediction do que as funções "if", onde existem apenas duas possibilidades, mas prevê-las corretamente aumenta de forma considerável a eficiência do processador.

Examinando todas as modificações, não restam dúvidas de que as melhorias introduzidas na arquitetura K10 tornaram os processadores bem mais competitivos que os modelos antigos, baseados na arquitetura K8. O grande problema enfrentado pela AMD não era o fato da arquitetura ser ruim, mas simplesmente o fato de o concorrente ser muito forte. Não apenas a Intel possuía uma arquitetura mais balanceada, mas era capaz de migrar a produção para novas técnicas de fabricação mais rapidamente, pressionando a AMD em várias frentes. Veja a continuação da história nos próximos posts. :)

idfp3

http://www.gdhpress.com.br/hardware/leia/index.php?p=cap2-19

40 comentáriosPor Carlos E. Morimoto. Revisado 23 de março de 2011 às 12h42

Comentários

 
por s@m (anônimo) em 1 de dezembro de 2010 às 23h39
Caros amigos, sei q é uma concorrencia dessa duas empresa de processadores em poder ter o melhor porcessador no mercado. MAs a questão ñ é o melhor. E sim a onde eles quer chega com isso?
Se ñ passa de processar os dados mais rapido. Vai chega um dia q o homem ñ tera o q fazer, pois as maquinas vam fazer tudo se ñ é q ja começou. Hj é tudo mastigado o homem nada esta fazendo mais com as suas propia mãos. Esta sendo controlado e dependente das maquinas. bom sei q muitos ñ vai gosta, mas é a verdade abraço a todos
 
por guilherme (anônimo) em 2 de setembro de 2009 às 18h17
O que adianta ter um pc top de linha e usar o windows,ele nem aproveita o desempenho do pc.O problema é que nao tem sistema operacional 100 por cento bom pra tudo eu uso windows por calsa dos jogos é um disperdicio de desempenho da maquina,no futuro vou passar para amd a intel é muito pilantra.

Nao me chingem muito pelo que eu escrevi,até mais.
 
por Ilhas (anônimo) em 1 de setembro de 2009 às 15h23
sempre tive Intel
estou com meu primeiro AM2+
muito feliz com ele
certeza o próximo tbm vai ser AMD pela
facilidade de up
 
por Raphael Barros (anônimo) em 20 de agosto de 2009 às 15h34
Tanto os processadores da Intel quanto os da AMD são bons. A Intel tem a melhor perfomance e a AMD tem o melhor Custo x Beneficio sempre foi assim desde à época do Pentium 1. Na época do Pentium 1 a Intel passou a perna em vários fabricantes de clones de 386 e 486 e por causa disso muitas empresas quebraram ou sairam do ramo x86.

Eu gosto da AMD porque é uma empresa que luta contra o gigante Intel e sempre lança bons processadores mais como a Intel tem mais marketing as pessoas acabam comprando Intel.

E cá entre nós AMD é mais honesto que Intel
 
por jose ferreira (anônimo) em 20 de agosto de 2009 às 13h57
aAMD e aINTEL so vâo trabalhar bem com placas mâes de boa qualidade a minha placa è uma nividia of board e do meu filho uma asus todos com placas de vidio geforce com512mb de memoria cada.ai sim vc tem uma maquina rasuavel
!........
 
por jose ferreira (anônimo) em 20 de agosto de 2009 às 13h35
olha eu tenho o AMD e um INTEL e eles trabalham iguais,o meu athlon 3200 e do meu filho e umcore 2 duo 4500 anbus com 2gb de memoria .tem trabalhos que oathlon e mais rapido mas perde em perfeicâo e a temperatura do AMD e mais alta 54/55 graus e o core fas a mesma com temperaturas de 32/42 graus esta e a diferença de ambus mas nada o resto e converça
 
por Hardmaster (anônimo) em 20 de agosto de 2009 às 08h26
Esse fato é muito relativo, dificilmente esses processadores queimam assim... Eu acredito na hipotese do equipamento já estar rodando a um bom tempo com super-aquecimento. E depende muito da MoBo que estiver usando, porque a minha PCCHIPS (ECA!!), desligava antes que processador pedisse!

seila..

Esse tipo de assunto só gera polemica mesmo ;D

"Calma pessoal, eu não "meti o pau" na AMD, apenas disse q n gosto dela pq tive uma experiência ruim com um processador dela.

Ednei P. de Melo, quando um cooler dá defeito o processador esquenta muuuuito mais. O finado Athlon que eu tinha esquentou até queimar e só prestar pra fazer chaveiro. Os processadores da Intel, mesmo naquela remota época dos Athlons e Pentiuns 3 (viu Nixal?), já desligavam o computador quando detectavam super aquecimento ;)

Que fique bem claro, eu não disse que a AMD não presta, não disse que a Intel é a melhor coisa do mundo, o q eu disse e repito aqui é que eu não gosto da AMD."
 
por Wilson (anônimo) em 19 de agosto de 2009 às 15h23
Amigos, lembro que as placas mãe antigamente atendiam AMD e Intel, depois por meios nada amigaveis a intel proibiu aos fabricantes essa dualidade. em geral 90% das pessoas usam aplicaçoes simples, neste quesito AMD ou Intel tanto faz. Uma boa placa mãe e uma quantidade decente de memoria,para os 90% fazem a diferença. Tenho sempron com placa de video nvidia, plmãe asus e é show de bola, tive uma pcchips e ele se arrastava, aquecia,enfim a pior experiencia possivel..Quanto a aquecimento lembrem dos Celeron D. AHHH odeio a prepotencia dos grandes fabricantes quando impõem seus padroes. T+
 
por blasto (anônimo) em 19 de agosto de 2009 às 11h33
É bom lembrar que a nova cpu da Intel, o Core i7 tem características que lembram a arquitetura da AMD como o controlador de memória integrado e o uso do novo tipo de barramento, no lugar do antigo FSB bem similar ao Hyper transport do K8 e K10. Se dependesse da Intel, não teríamos o i386x64 que nos possibilita ter um endereçamento maior de memória que a antiga arquitetura i386 permitia somente 4GB de RAM.
A competição entre estas duas empresas é benéfica para nós e espero que a AMD se recupere e volte a incomodar a Intel, afinal a AMD é pequena perto dela e a Intel utiliza táticas monopolistas parecidas com da Microsoft que também é algo que não me agrada como oferecer processadores a preço abaixo de custo integradores e com cláusulas contratuais de não comprar produtos da AMD.
 
por MaxKurama (anônimo) em 17 de agosto de 2009 às 18h16
Do meu Xt nem lembro muito...
Mas de lá pra cá tenho experimentado AMD e Intel sempre que posso. Tive excelente experiência com ambas e algumas experiências ruins também com ambas... mas as exeriências boas foram muito maiores... Acho que o importante mesmo é termos pelomenos essas duas empresas 'brigando' pela dianteira e com isso melhorando as coisas pra gente. Não queiramos nunca que uma ou outra quebre ou fique muito atrás na briga e ainda torçamos pra que chegue uma terceira ou quarta empresa pra brigar com essas duas e que cada uma tenha capacidade pra produzir tecnologia de ponta.
Hoje, qualquer pessoa que comprar Intel ou AMD estará muito bem servido para a maioria absoluta das aplicações e num mundo onde a atual tendência é se executar aplicações via browser com carga maior pelo lado do servidor, cada vez mais será abundante a 'sobra' de processamento nos desktops.
Hoje em dia tudo se atualiza muit rápido nessa área e aquela história de que aquele processador queimou porque aqueceu demais, ou aquele outro não possui instruções 64bits já era! O problema hoje é aproveitar esses 64bits no desenvolvimento das aplicações, dos SO's, é ver qual processador agride menos o meio ambiente sem perder tanta performance...
Os problemas são sanados muito rapidamente nesse meio e as questões que devemos fazer mudam quase que instantaneamente a ponto de deixar qualquer desavisado um pouco ultrapassado e talvez até tendencioso ou preconceituoso.
O excelente artigo nos mostra o que está sendo feito nessa mudança de arquitetura da AMD e lendo também os comentários, percebo quão pouca gente discutiu sobre isso.
Bom, eu espero que a AMD consiga com essa mudança, obter ainda mais do que ela espera, que ela abra os próprios horizontes e possa pressionar a Intel e que elas se alternet nessa pressão, enquanto isso continuo apreciando essa briga.