Processadores da AMD: O Phenom

Processadores da AMD: O Phenom

As primeiras versões do Phenom foram lançadas em novembro de 2007, mas os processadores passaram a ser vendidos em volume apenas a partir do início de 2008. Nos primeiros meses, a AMD priorizou as vendas do Opteron, que oferece margens de lucro maiores que os chips para desktops. Entretanto, as vendas acabaram sendo paralisadas com a descoberta de um bug no circuito de TLB (veja o tópico a seguir) e acabaram sendo retomadas apenas alguns meses depois, com o lançamento das séries baseadas no stepping B3.

Toda a série inicial do Phenom é produzida usando a técnica de 65 nanômetros, o que também prejudicou a recepção inicial dos chips já que o lançamento coincidiu com a chegada dos chips de 45 nanômetros da Intel (baseados no Penryn), que não apenas ofereciam um desempenho clock por clock consideravelmente superior, mas também possuíam um consumo elétrico muito mais baixo e margens de overclock bem maiores. Você pode ver alguns números nos links a seguir:

http://www.anandtech.com/showdoc.aspx?i=3153&p=6
http://techreport.com/articles.x/13633/10
http://xbitlabs.com/articles/cpu/display/phenom-x4-9850_7.html

A dificuldade em competir com os Core 2 Quad obrigou a AMD a entrar em uma guerra de preços, posicionando o Phenom como um processador de baixo/médio custo, concorrendo com o Core 2 Duo e não diretamente com os Core 2 Quad. Mesmo os modelos mais caros, da séries Black Edition podiam ser encontrados nos EUA por pouco mais de US$ 200, o que equilibrava a balança, fazendo com que eles fossem boas escolhas em muitos casos.

O grande problema com a estratégia é que a AMD passou a trabalhar com prejuízo e a contrair dívidas, uma situação que acabou obrigando a empresa a abrir mão das fábricas, dando origem à Globalfoundries.

O Phenom utiliza um controlador de memória DDR2 e é compatível tanto com placas AM2+, quanto com placas AM2 antigas. A pinagem dos dois soquetes é a mesma, o que garante a compatibilidade nos dois sentidos, permitindo também que você use processadores AM2 (incluindo os Athlon 64 e Athlon 64 X2) em placas AM2+. A principal diferença entre os dois soquetes é que o AM2+ utiliza o HyperTransport 3.0, que dobra a frequência efetiva, resultando em um ganho incremental de desempenho.

phenom_html_739b4bbf

Os modelos da série X4 (com os 4 núcleos ativos, 512 KB de cache L2 por core e 2 MB de L3 compartilhado) incluem:

Phenom X4 9500: 2.2 GHz, 4x 512 KB, 2 MB, 95 watts, stepping B2
Phenom X4 9550: 2.2 GHz, 4x 512 KB, 2 MB, 95 watts, stepping B3
Phenom X4 9600: 2.3 GHz, 4x 512 KB, 2 MB, 95 watts, stepping B2
Phenom X4 9650: 2.3 GHz, 4x 512 KB, 2 MB, 95 watts, stepping B3
Phenom X4 9750: 2.4 GHz, 4x 512 KB, 2 MB, 95 watts, stepping B3
Phenom X4 9850: 2.5 GHz, 4x 512 KB, 2 MB, 95 watts, stepping B3

Além dos modelos regulares, a AMD criou também os Black Edition, uma série de processadores com o multiplicador destravado. Eles foram a solução encontrada pela AMD para chamar a atenção da comunidade entusiasta, usando a facilidade de overclock como um argumento de venda.

Apesar disso, as margens oferecidas por eles são bastante pequenas (cerca de 2.6 GHz para os baseados no core B2 e 2.7 a 2.75 GHz para os baseados no B3), o que faz com que o multiplicador destravado não seja de muita ajuda na prática. Os modelos incluem:

Phenom X4 9600 BE: 2.3 GHz, 4x 512 KB, 2 MB, 95 watts, stepping B2
Phenom X4 9850 BE: 2.5 GHz, 4x 512 KB, 2 MB, 125 watts, stepping B3
Phenom X4 9950 BE: 2.6 GHz, 4x 512 KB, 2 MB, 125 ou 140 watts, stepping B3

Tanto o X4 9850, quanto o X4 9850 BE e o 9950 BE utilizam uma frequência de 2.0 GHz para o cache L3 e o controlador de memória (o campo “NB Frequency” no CPU-Z), o que resulta em um pequeno ganho adicional (de 1 a 2%) em relação aos demais modelos, onde eles operam a 1.8 GHz.

No outro extremo, temos os modelos da série E (Energy Efficient), que utilizam tensões mais baixas (1.1V ou 1.075V) e oferecem um consumo consideravelmente mais baixo. O TDP é ainda relativamente alto (65 watts), mas na prática o consumo é bem mais baixo. A série inclui:

Phenom X4 9100E: 1.8 GHz, 4x 512 KB, 2 MB, 65 watts, stepping B2
Phenom X4 9150E: 1.8 GHz, 4x 512 KB, 2 MB, 65 watts, stepping B3
Phenom X4 9350E: 2.0 GHz, 4x 512 KB, 2 MB, 65 watts, stepping B3
Phenom X4 9450E: 2.1 GHz, 4x 512 KB, 2 MB, 65 watts, stepping B3

Como pode ver, exitem modelos duplicados na tabela (como o 9500 e o 9550), cuja única diferença é o uso do stepping B2 ou B3. Essa é uma informação importante, pois indica se o processador possui ou não o TLB bug.
No início de 2008 foram anunciados o Phenom 9700 (2.4 GHz) e o 9900 (2.6 GHz), mas eles acabaram sendo cancelados, em favor do 9750 e do 9950 BE, que operam nas mesmas frequências, mas são já baseados no stepping B3.

Phenom X3: Para contrabalançar a vantagem da Intel com relação ao desempenho por clock, a AMD optou por uma estratégia original: vender versões triple-core do Phenom por preços similares aos do Core 2 Duo, na esperança de que o terceiro núcleo compensasse a diferença. Com isso, posicionaram os antigos Athlon X2 de 65 nanômetros como processadores de baixo custo, os Phenom X4 como opções de médio custo (entre US$ 150 e 250 no exterior) e usaram os Phenom X3 para oferecer opções intermediárias entre as duas famílias.

A ideia de um processador com três núcleos soa tão estranha hoje quanto soava em 2008. Afinal, estamos acostumados a pensar em potências de dois, sempre com dois, quatro ou oito núcleos. Mesmo voltando no tempo e examinando as páginas anteriores da história da informática, é difícil encontrar sistemas com três unidades de processamento. Sempre se pula direto do dois para o quatro.

Do ponto de vista da AMD, entretanto, a ideia fazia sentido, e por um motivo simples. Diferente do Core 2 Quad baseado no core Kentsfield (criado a partir da junção de dois núcleos dual-core), o Phenom era um processador quad-core nativo. Devido ao tamanho e ao brutal número de transístores, defeitos de fabricação eram comuns, mas na maioria dos casos afetavam apenas um dos núcleos.

Em uma época de boas vendas, talvez a direção da AMD se contentasse em desativar dois dos núcleos e vender estes processadores como versões dual-core, mas com a Intel dominando o jogo, qualquer oportunidade precisava ser aproveitada, daí a decisão de criar uma série triple-core, desativando o núcleo defeituoso e mantendo os demais.

Explicados os motivos mercadológicos, restam a questão a respeito do desempenho. Hoje em dia é fácil justificar a utilidade de processadores dual-core, já que eles representam um ganho mais do que tangível em uso real, não apenas devido ao grande volume de softwares já otimizados, mas devido à questão da multitarefa. Mesmo benchmarks como o SYSMark mostram ganhos de 40 a 60% ao ir de um para dois núcleos, mesmo que o restante da configuração continue igual.

Ao ir de dois para quatro núcleos entretanto, o ganho é muito menor. Isso ocorre não apenas por que o volume de softwares capazes de manter todos os núcleos ocupados é pequeno, mas também por que outros componentes (barramento da memória, GPU, HDs, etc.) começam a gargalar o desempenho muito antes do processador. Processadores quad-core são bons para codificar vídeo e rodas aplicativos científicos, mas em aplicativos de produtividade e jogos eles são muitas vezes um upgrade desnecessário.

Naturalmente, a Intel e a AMD sambem disso melhor do que ninguém e por isso se esforçam para reduzir a diferença de preços e reforçar as campanhas de marketing, enfatizando as áreas em que a diferença é mais marcante. Um processador quad-core não seria muito atrativo se custasse o dobro do preço (pelo menos não em um desktop), mas se a diferença cai para apenas 30 ou 40%, a coisa muda de figura.

No caso do Phenom X3, o ganho de desempenho proporcionado pelo terceiro core é ainda menor e muitos aplicativos não são capazes de utilizá-lo, já que são preparados para utilizar apenas números pares de cores. Naturalmente, a situação já melhorou bastante desde o lançamento do Phenom X3, já que os desenvolvedores passaram a atualizar os softwares para trabalharem em conjunto com ele, mas o problema ainda persiste em muitas áreas.

Tendo tudo isso em mente, a estratégia da AMD se concentrou em manter os preços baixos, fazendo com que eles concorressem na mesma faixa de preço dos Core 2 Duo. Em outras palavras, a AMD aproveitou a oportunidade para vender três cores pelo preço de dois. Você pode ver alguns números no: http://www.anandtech.com/showdoc.aspx?i=3293&p=5

O Phenom X3 é baseado no núcleo “Toliman”, que nada mais é do que uma versão castrada do Agena (usado no X4), com o quarto núcleo desativado, mas mantendo os mesmos 2 MB de cache L3 e o uso do soquete AM2+. Os modelos incluem:

Phenom X3 8400: 2.1 GHz, 3x 512 KB, 2 MB stepping B2
Phenom X3 8450: 2.1 GHz, 3x 512 KB, 2 MB stepping B3
Phenom X3 8550: 2.2 GHz, 3x 512 KB, 2 MB stepping B3
Phenom X3 8600: 2.3 GHz, 3x 512 KB, 2 MB stepping B2
Phenom X3 8650: 2.3 GHz, 3x 512 KB, 2 MB stepping B3
Phenom X3 8750: 2.4 GHz, 3x 512 KB, 2 MB stepping B3
Phenom X3 8750 BE: 2.4 GHz, 3x 512 KB, 2 MB stepping B3, multiplicador destravado
Phenom X3 8850: 2.5 GHz, 3x 512 KB, 2 MB stepping B3

Note que com exceção do X3 8600, todos os modelos são baseados no stepping B3, já sem o TLB bug. Isso faz com que eles acabem superando os Phenom X4 baseados no stepping B2 (com o patch ativo) em diversas situações, muitas vezes por uma boa margem.

Além destes, foram lançados também dois modelos de baixo consumo, o X3 8250e (1.9 GHz) e o X3 8450e (2.1 GHz), que usam uma tensão mais baixa (1.125V em vez de 1.2V) e trabalham com um TDP de 65 watts, contra os 95 watts dos demais:

phenom_html_1c83893c

O TLB bug: Um fator que atrapalhou as vendas do Phenom foi o infame TLB bug que atingiu as primeiras versões do chip. Devido às inúmeras operações lógicas de movimentação de dados e checagem de coerência, sem falar nas próprias instruções, bugs em processadores são uma ocorrência relativamente comum. Na década de 1990, por exemplo, a Intel sofreu com um bug no coprocessador aritmético das primeiras versões do Pentium, que levou a um massivo recall dos chips. No caso do Phenom as consequências foram menos dramáticas, mas o impacto sobre as vendas acabou sendo grande, já que ninguém quer comprar um chip com defeito.

O TLB (Translation Lookaside Buffer) é uma espécie de índice de endereços usado em todos os processadores atuais. Ele tem a função de cachear endereços (apenas os endereços, não os dados propriamente ditos) de dados disponíveis nos caches e na memória, permitindo que eles sejam localizados rapidamente, sem necessidade de fazer o processo de busca sequencial nas páginas de endereços.

Conforme os dados são modificados e copiados de um lugar para o outro, as entradas no TLB precisam ser atualizadas de acordo, um processo que parece simples na teoria, mas que na prática exige algoritmos bastante sofisticados. No caso do Phenom a tarefa é especialmente complexa, já que além dos caches L1 e L2 em cada núcleo, temos também um cache L3 que é compartilhado por todos. Devido ao uso do sistema de cache exclusivo adotado pela AMD, os caches L1 e L2 dos cores armazenam dados diferentes dos armazenados no cache L3, o que torna necessário sincronizar cuidadosamente todas as atualizações.

O bug surge em situações onde dados nos caches são modificados enquanto o controlador do TLB está modificando as entradas para refletir uma alteração anterior. Na maioria dos casos, os erros são detectados pelo circuito de controle dos caches, sem causar maiores danos, mas em determinadas situações ele pode levar à corrupção de dados, causando um hard-lock do processador.

O bug no TLB é uma ocorrência relativamente rara, mas pode se manifestar em situações de alta utilização do chip, especialmente ao usar o Xen com um grande número de máquinas virtuais (um cenário muito comum em servidores), disparando a proteção contra corrupção de dados do chip e travando todo o sistema. Outro fator é que quanto mais alta a frequência de operação do chip, mais propenso ele se torna a exibir o problema, o que obrigou a AMD a limitar a frequência de operação dos chips (a série inicial parou nos 2.3 GHz) e atrapalhou a vida de quem fazia overclock.

A primeira correção para o problema veio na forma de uma correção de BIOS, que passou a ser usada por todos os fabricantes. Ela faz com que seja mostrada a opção “Patch AMD TLB Erratum” na seção “Advanced BIOS Features”, que permite ativar ou desativar a correção. Ela pode ser ativada ou desativada também através do AMD Overdrive, no Windows.

A correção simplesmente desativa parte do circuito de TLB, prevenindo o problema mas em troca reduzindo bastante a eficiência do mecanismo. Isso causa um aumento considerável na latência de acesso à memória, reduzindo substancialmente o desempenho do processador. Na maioria das aplicações a queda é de 6 a 10% (o que já é substancial), mas em algumas tarefas específicas, como no caso da compressão de arquivos usando o WinRAR a redução pode chegar a 70%, o que é inaceitável. Você pode ver alguns números no: http://techreport.com/articles.x/13741/3

Este é um dos casos em que o remédio acaba saindo pior do que a doença, fazendo com que muitos prefiram manter a opção desativada, arcando com a possibilidade de encontrar travamentos esporádicos em troca de um desempenho mais previsível.

A solução definitiva veio com o Phenom B3, que chegou ao mercado em março de 2008. Você pode verificar rapidamente se tem um deles em mãos usando o CPU-Z; basta checar o campo “Revision”:

phenom_html_m53e450d0

Naturalmente, o fix se estende também a todos os modelos posteriores, incluindo o Phenom II e o Athlon II. Como o erro foi descoberto pouco depois do lançamento do processador, o número de unidades com o defeito que realmente chegaram ao mercado foi relativamente pequeno, mas foi suficiente para comprometer todo um trimestre de vendas da AMD.

Outro problema que afetou negativamente o desempenho do Phenom foi a inclusão de um sistema de gerenciamento independente da frequência dos cores no Cool’n’Quiet. No novo sistema, a frequência dos núcleos pode ser gerenciada independentemente, com a frequência dos núcleos ociosos sendo reduzida pela metade, o que faz bastante sentido em aplicativos sem otimização para vários núcleos, permitindo que um deles opere à frequência máxima e os demais entrem em estado de baixo consumo.

O Phenom foi o primeiro processador quad-core a oferecer essa função. Entretanto, o sistema acabou esbarrando na maneira como o Windows Vista gerencia os threads ao rodar sobre um processador multicore.
Em vez de simplesmente manter os threads rodando sobre o núcleo sobre o qual eles são iniciados, o Vista utiliza um sistema de balanceamento de carga que move os threads para os núcleos ociosos com o objetivo de distribuir melhor o trabalho e assim obter um melhor desempenho em processadores multicore.

O sistema funciona bem caso os núcleos operem à mesma frequência (como no Core 2 Quad), mas ele acaba sabotando o sistema de gerenciamento do Phenom. Quando o thread é aberto, ele começa rodando sobre o primeiro núcleo, que está operando à frequência máxima. Pouco depois o Vista o move para o segundo núcleo (que está trabalhando à metade da frequência), o que derruba o desempenho momentaneamente, até que o Cool’n’Quiet perceba a mudança e coloque-o para trabalhar na frequência máxima. Pouco depois o thread é novamente transferido para o terceiro, para o quarto e depois de volta para o primeiro, repetindo a perda em cada mudança.

Essa pendenga é na verdade um problema com o Vista e não com o Cool’n’Quiet, mas o resultado é que ela acaba causando uma perda de desempenho de até 10% em muitos aplicativos, o que faz com que muitos prefiram simplesmente desativar o Cool’n’Quiet no Setup (ou usar o perfil “Máximo desempenho” no perfil de gerenciamento de energia do Windows, que possui um efeito similar). Isso soluciona o problema da perda de desempenho, mas em compensação aumenta de forma substancial o consumo elétrico.

Para evitar repetir a queda de braço, a AMD adotou um sistema mais conservativo no Phenom II, desativando o gerenciamento independente, mas em troca adicionando mais P-States, ou seja, mais estágios intermediários de frequência. Enquanto o Phenom possui apenas dois estágios (50 ou 100% do clock), o Phenom II possui 4 estágios.

Um Phenom II X4 940, por exemplo, pode operar a 3.0, 2.3, 1.8 ou 800 MHz, de acordo com o nível de carregamento. Todos os cores operam à mesma frequência, o que faz com que o sistema não seja tão eficiente, mas em compensação, não existem mais problemas com o gerenciamento do Vista e você pode manter o Cool’n’Quiet ativado sem dores de cabeça.

A Intel chegou a uma solução mais elegante no Core i7, onde os núcleos ociosos são desativados completamente, como parte do turbo boost. Isso evita o problema da transferência dos threads, já que o sistema passa a utilizar apenas o núcleo que está ativo, deixando que o PCU (o controlador incluído no processador) decida quando o nível de carga é suficiente para ativar os demais.

Uma curiosidade é que o problema com o Cool’n’Quiet no Phenom afeta apenas os usuários de placas AM2+, já que as placas AM2 não suportam o gerenciamento independente. Isso resultava em situações estranhas, onde máquinas “antigas”, com placas AM2 apresentavam um desempenho superior ao de máquinas mais novas, com placas AM2+, utilizando os mesmos processadores.

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X