Phenom e Barcelona
O Barcelona é o primeiro processador quad-core “nativo” desenvolvido pela AMD. Apesar possuir nada menos do que 463 milhões de transistores, as versões iniciais do Barcelona ainda serão produzidas usando a técnica de 0.065 micron (65 nanometros), mas a AMD pretende produzir versões de 0.045 micron a partir da segunda metade de 2008.
Relembrando, os Athlons, Durons e Semprons de 32 bits fazem parte da plataforma K7, enquanto os Athlon 64, X2 e FX fazem parte da plataforma K8. Para evitar trocadilhos a AMD decidiu pular o “K9”, de forma que o Barcelona e derivados formam a plataforma K10.
Este diagrama, divulgado pela AMD mostra detalhes sobre os componentes internos do processador:
Como você pode ver, o Barcelona é 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 componentes responsável por dividir as requisições entre os dois cores, controlar o acesso de ambos ao controlador de memória) e outros circuitos de gerenciamento, identificados no diagrama como “Northbridge”. Do lado direito 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 Barcelona é 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. Mas, 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, de forma que a desenvolver um processador capaz de competir em pé de igualdade com o Kentsfield e o Penryn da Intel.
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 utilizarem 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, capazes de processar as instruções em um único ciclo. Embora isso tenha representado um grande aumento no volume de transistores do processador, a AMD conseguiu equilibrar a balança, também equipando o Barcelona com unidades SSE de 128 bits.
A ampliação das unidades SSE foram acompanhadas 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 Barcelona, 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 este conjunto de melhorias de “SSE128”. Você vai ver várias referências ao termo no material publicitário daqui em diante.
Em termos de acesso aos caches, o Barcelona 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 arquitetura quad-core no Barcelona, a AMD sacrificou um brutal número de transístores de que outra forma poderiam ser utilizados para incluir um grande cache L2, assim como nos processadores Intel.
A principal arma do Barcelona contra as deficiências no cache é o controlador de memória integrado, que recebeu duas pequenas melhorias. Em primeiro lugar, ao invés 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.
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 elevadas, mas em compensação trabalham com tempos de latência relativamente altos. Ao invés de realizar várias operações de escritas 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 um único burst 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.
Inicialmente o Barcelona incluirá um controlador de memória DDR2, mas a AMD já deixou o terreno pronto para o lançamento de futuras revisões do processador com suporte a memórias DDR3, que devem ser lançadas por volta do final de 2008.
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, ao invés 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, ao invés 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.
O uso de caches L1 e L2 independentes para cada núcleo, permitiu que a AMD desenvolvesse um sistema de gerenciamento de energia bem mais eficiente que o do Kentsfield. Cada núcleo é basicamente independentes dos demais, de forma que a frequência de operação de cada um pode ser ajustada de forma independentes. O processador pode manter apenas um dos núcleos ativo enquanto executa operações leves, por exemplo, mantendo os outros três operando a frequências reduzidas. Este sistema de gerenciamento independente é similar ao que a Intel pretende implantar no Nehalem, porém disponibilizado um ano antes.
Outro pequeno conjunto de melhorias foram feitas 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 foi dobrado de tamanho. 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 várias possibilidades, como ao usar funções “case” ou “switch” onde o programador estabelece diversas possibilidades, de acordo com o resultado de uma condição. Como era de se esperar, estas 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.
O nome “Barcelona” é apenas o codenome do projeto, assim como no caso do Penryn e Nehalem da Intel. As versões do Barcelona destinadas a servidores serão vendidas sob a marca “Opteron”, enquanto as versões para PCs domésticos serão chamadas de “Phenom” (de “Phenomenal”). O nome nome tem justamente o objetivo de diferenciá-lo dos Athlons 64 e X2 e enfatizar que se trata de uma nova arquitetura.
As versões desktop do Barcelona respondem pelos nomes de “Agena FX” (a versão com 4 cores, quase idêntica ao Barcelona destinado a servidores), “Agena” (uma versão quad-core levemente simplificada, sem os links HyperTransport usados em sistemas com dois processadores) e “Kuma” (uma versão simplificada, com apenas dois núcleos).
Tanto o Agena, quando o Agena FX serão equipados com 128 KB de cache L1 e 512 KB de cache L2 por núcleo, além do cache L3 compartilhado de 2 MB. Assim como os processadores AMD anteriores, eles utilizam a arquitetura de cache exclusivo, onde os dados armazenados nos caches não são duplicados. Graças a isso, podemos dizer que eles possuem um total de 4.5 MB de cache.
Apesar de possuírem apenas dois núcleos, os processadores baseados no core Kuma manterão o cache L3 de 2 MB. Combinado com as outras melhorias na arquitetura, a presença do cache L3 fará com que eles ofereçam um desempenho consideravelmente superior ao de um Athlon 64 X2 do mesmo clock.
A AMD pretende lançar versões de até 2.6 GHz do Agena e Agena FX e versões de até 2.8 GHz do Kuma antes do final de 2007.
Estão planejadas ainda novas versões do X2 e do Sempron, que respondem pelos codenomes “Rana” e “Spica“, cujo lançamento está planejado para 2008. O Rana será uma versão de baixo custo do Kuma, baseado na arquitetura K10, mas desprovido do cache L3. Embora mais lento que um Kuma, o Rana superará os Athlon X2 baseados no core Brisbane devido às demais melhorias arquitetura. O Spica, por sua vez, será uma versão single-core, que substituirá os Semprons baseados no core Sparta e anteriores.
Com a introdução do Phenom, teremos uma mudança radical dentro da linha de processadores AMD e também um novo sistema de numeração dos processadores, que está sendo implantada aos poucos, ao longo da segunda metade de 2007.
Em primeiro lugar, todos os processadores da linha Athlon 64 foram renomeados para apenas “Athlon”, sem o “64”. A AMD chegou à conclusão de que o “64” passou a ser redundante, já que a Intel também passou a incluir o suporte a instruções de 64 bits em todos os seus processadores. O “Athlon 64 X2” passou a se chamar apenas “Athlon 64”.
Com o lançamento do Phenom, o Athlon X2 assume a posição de processador “mainstream” e toda a linha de processadores Athlon single-core é descontinuada, mantendo apenas o Sempron como opção single-core de baixo custo, concorrendo diretamente com os Celerons 4xx da Intel. Entre os processadores high-end, temos três versões do Phenom: X4 (a versão original, com 4 núcleos), X2 (a versão com 2 núcleos) e o Phenom FX, a linha destinada a entusiastas, que substitui o Athlon 64 FX e o Quad-FX.
O antigo índice de desempenho, que servia basicamente para comparar o desempenho dos processadores com modelos do Pentium 4, deixou de fazer sentido com o lançamento do Core 2 Duo, de forma que a AMD optou por descartá-lo em favor de um novo sistema de numeração (similar ao atualmente usado pela Intel), onde cada processador recebe um código de acordo com a sua “posição hierárquica”, sem relação direta com o desempenho.
Na nova terminologia, todos os processadores recebem um código composto por duas letras e quatro números, como em “BE-2300”.
A primeira letra indica a classe do processador, indicando se ele é um processador “premium”, de alto desempenho, intermediário ou de baixo custo. A letra “G” é reservada para os processadores Phenom, a letra “B” é usada pelos Athlon X2 de clock mais alto, enquanto a letra “L” (de low-cost) é reservada aos Semprons e Athlon X2 mais lentos.
Em seguida temos uma segunda letra que indica o consumo. A letra “P” (de “premium”) é usada para processadores com TDP acima de 65 watts, a letra “S” (de “standard”) indica processadores com TDP de 65 watts ou menos, enquanto a letra “E” (de “Energy Efficient”) indica os processadores com TDP de 45 watts ou menos.
Dentro dos quatro números, o primeiro indica a família à qual o chip pertence, onde um “7” indica que é um Phenom X4, um “6” indica que se trata de um Phenom X2, um “2” é usado no caso dos Athlon X2 e o “1” é reservado aos Semprons single-core.
Os três números seguintes indicam a posição do chip dentro da família, como em “BE-2300”, “BE-2350” e “BE-2400”. Os números não são uma indicação direta do clock ou performance do processador, serve apenas para diferenciar os processadores dentro de uma mesma família.
Os primeiros representantes da nova terminologia são os Athlon X2 BE-2300 (1.9 GHz, 2x 512 KB) e BE-2350 (2.1 GHz, 2x 512 KB) e BE-2400 (2.3 GHz, 2x 512 KB), três processadores da série “Energy Efficient” (ainda baseados no core Brisbane), com TDP de apenas 45 watts, vendidos, nos EUA, por menos de US$ 100.
Eles serão seguidos pelos Sempron LE-1100 (1.9 GHz), LE-1150 (2.0 GHz), LE-1200 (2.1 GHz), LE-1250 (2.2 GHz) e 1300 (2.3 GHz). Estes novos Semprons são baseados no core “Sparta”, produzidos usando a técnica de 0.65 micron e se destinam a placas AM2 e AM2+.
Se nada mudar nos planos da AMD, os Phenom X4 serão vendidos sob a série “GP-7xxx”, e os Phenom X2 sob a série “GS-6xxx”. Teremos ainda uma série de baixo custo do X2, a “LS-2xxx”.
Como você pode ver, a nova terminologia da AMD foi desenvolvida como resposta à terminologia adotada pela Intel com o Core 2 Duo, já que continuar usando o Pentium 4, um processador ultrapassado, como parâmetro não faria muito sentido.
Toda a nova linha de processadores, incluindo os novos X2 e Semprons são chamados pela AMD de “Stars“, mais um nome mercadológico. Todos os processadores da série Stars utilizarão placas AM2+, mas muitas das placas AM2 atuais também poderão ser usadas depois de um upgrade de BIOS.
A principal diferença entre o AM2 e o AM2+ é o suporte ao uso de tensões independentes para os núcleos do processador e os circuitos que forma o northbridge (dentro do processador) e outros dos recursos de economia de energia introduzidos com o Phenom. Outra novidade é o uso do HyperTransport 3.0, que opera a 2.0 GHz, o dobro da frequência do HyperTransport 2.0 usando nas placas AM2.
Ao usar uma placa AM2 “normal”, estes recursos não são usados, fazendo com que o consumo elétrico e dissipação do processador sejam mais altos e a comunicação entre ele e o chipset seja chaveada para o modo mais lento. As placas AM2+ também continuam sendo compatíveis com os processadores Athlon 64 e X2 antigos, já que não foi feita nenhuma mudança na pinagem, mas neste caso os novos recursos também ficam desativados.
O soquete AM2+ permanecerá sendo o carro chefe da AMD até algum ponto entre a segunda metade de 2008 e a primeira metade de 2009, quando serão introduzidas as placas AM3, iniciando a transição para as memórias DDR3 do lado da AMD. Assim como fez anteriormente, o plano da AMD é deixar a Intel “dar a cara a tapa” iniciando a migração para as memórias DDR3, enquanto elas ainda são mais caras, e pegar carona depois que a tecnologia já estiver estabelecida e os preços já tiverem caído.
As versões do Sempron e Athlon 64 destinadas a placas soquete 754 e 939 já estavam sendo descontinuadas mesmo antes do lançamento dos novos processadores. O anúncio do Phenom só acelerou o processo.
Continuando, o Phenom FX também utilizará um novo encaixe, o soquete 1207+ (ou F+), novamente uma versão atualizada do soquete F utilizado pelos Opterons e na plataforma Quad-FX atual.
O Phenom FX dará origem também ao sucessor do Quad-FX, batizado de “FASN8” (pronuncia-se “fés-en-eight”, alusão à palavra “fascinate”), onde são combinados dois Phenom X4 com uma placa dual soquete 1207+ e duas placas ATI Radeon HD 2900 XT em modo crossfire, resultando em um sistema com 8 núcleos. O FASN8 é um sistema “de vitrine”, destinado a ganhar benchmarks e atrair a atenção do público entusiasta, mas vendido a um preço proibitivo.
Chavões como “Phenomenal”, “Fascinate” e “Stars” podem soar chamativos demais, mas lembre-se de que é preferível um bom processador com um nome ruim, do que o contrário :).
Fusion
Com a aquisição da ATI, a AMD deixou de ser apenas um fabricantes de processadores e chips de memória flash para entrar no mundo das placas 3D e chipsets. A idéia principal por trás da aquisição é criar uma plataforma mais forte, onde a AMD possa produzir, além dos processadores, também chipsets competitivos e otimizados para eles, sem depender unicamente do trabalho de outros fabricantes, como a nVidia e a ATI.
Embora não tenha fabricado uma só placa de vídeo offboard, desde 1998, quando lançou, sem sucesso, o chip i740, a Intel é atualmente o maior fabricante de chipsets de vídeo (em volume) com mais de 40% do mercado. Isso acontece por que, apesar de oferecerem um desempenho longe de ser fenomenal, as soluções de vídeo onboard da Intel são bastante populares.
O mesmo fenômeno acontece (embora em menor grau) com todos os demais fabricantes de chipsets. Embora sejam mais lentas, as placas 3D onboard são de longe as mais populares, já que a integração com a placa mãe as torna muito baratas.
Com o Fusion, a AMD pretende levar a idéia ao próximo nível, integrando o chipset de vídeo ao próprio processador principal. Além da questão da integração e otimizações relacionadas, a idéia oferece duas vantagens interessantes.
A primeira é que ao ser incluído no processador, o chipset de vídeo passa a ser produzido utilizando a mesma técnica de fabricação que ele, o que reduzirá o consumo e permitirá que opere a frequências de clock mais altas. Tradicionalmente, as placas de vídeo são sempre produzidas utilizando técnicas de fabricação bastante antiquadas, sempre uma ou duas gerações atrás dos processadores. Em plena metade de 2007, a nVidia ainda fabrica seus chipsets topo de linha usando uma técnica de 0.09 micron, enquanto tanto a Intel, quando a AMD, fabricam seus processadores usando a técnica de 0.065 micron, com a técnica de 0.045 já em vista.
A segunda vantagem é que, dentro do processador a GPU teria acesso ao controlador de memória integrado, o que permitiria que permitiria o acesso à memória RAM compartilhada com tempos de latência mais baixo do que as soluções atuais, que o fazem através do barramento PCI Express ou AGP. Este slide da AMD mostra o conceito:
Se bem exploradas, estas duas vantagens poderiam permitir o desenvolvimento de chipsets de vídeo integrado com um desempenho compatível com o das placas offboard, mesmo utilizando memória compartilhada. Isto seria uma grande vantagem competitiva para a AMD, já que você passaria a ganhar uma boa placa 3D “de brinde” junto com o processador.
Indo um pouco mais a fundo na idéia, chegamos a uma outra constatação. Embora fundamentalmente diferentes, o processador principal e a placa 3D são complementares. O processador principal é rápido ao processar instruções sequenciais, usadas pela maioria dos programas, enquanto a placa 3D é especializada em processar um grande volume de instruções paralelamente.
O processador principal pode renderizar imagens em 3D (como ao rodar games 3D antigos, com renderização via software), mas é muito lento nesta tarefa, de forma que mesmo um humilde chipset de vídeo onboard é capaz de superar praticamente qualquer processador atual nesta tarefa.
Da mesma forma, a placa 3D não é capaz de processar instruções sequenciais com um desempenho aceitável, de forma que depende do processador principal. Em um game 3D, o processador se encarrega de executar a engine, processar as respostas do AI e assim por diante, enquanto que a placa 3D se encarrega de renderizar as imagens.
Apesar disso, a arquitetura paralelizada dos chipsets de vídeo poderia ser muito bem usada para executar outras tarefas, como rodar algoritmos de renderização e compressão de vídeo e audio em geral, que atualmente não são aproveitadas.
Atualmente, ao assistir um filme em divx ou ripar um DVD, quase todo o processamento é feito pelo processador principal. Com o Fusion a AMD pretende incluir algoritmos que permitam utilizar o processamento da GPU integrada para executar este tipo de tarefa, fazendo com que, mais do que ser simplesmente uma placa de vídeo integrada, ela possa melhorar o desempenho do sistema em aplicações diversas. Teríamos então novos conjuntos de instruções (similares ao SSE), que permitiriam que os programas utilizem o processamento da GPU integrada.
As primeiras versões do Fusion serão compostas de dois componentes separados, um processador e um chipset de vídeo dentro do mesmo encapsulamento e interligados através de um link HyperTransport. A AMD planeja lança-las ainda em 2008, mas elas não devem trazer grandes vantagens em relação a usar um processador e uma placa 3D offboard, com exceção de uma possível redução no custo.
A coisa começa a ficar mais interessante a partir da segunda fase, quando os dois componentes são integrados no mesmo chip, permitindo um nível de otimização muito maior. A partir daí, o plano da AMD é fundir os dois componentes, produzindo processadores capazes de desempenhar simultaneamente as duas funções. Teríamos então processadores que, além das unidades de execução, unidades SSE e coprocessador aritmético, teriam unidades de processamento de mapas de texturas, vertex shaders e pixel shaders, como os incluídos nos chipsets de vídeo 3D.
Este nível de integração faz sentido sobretudo nos notebooks, pois tende a reduzir o consumo elétrico do equipamento, em relação ao uso de um processador e chipset de vídeo separados, como atualmente.
Nos desktops a combinação de CPU e GPU pode trazer ganhos maiores do que o desenvolvimento de processadores com mais núcleos (de 4 para 8, por exemplo), já que o ganho de migrar para processadores com mais núcleos tende a ser cada vez menor. Um processador bem otimizado, com 2 núcleos e uma GPU embutida poderia se sair melhor que um processador com 4 núcleos e uma placa 3D offboard equivalente em diversas aplicações.
É importante notar que a Intel está desenvolvendo uma solução similar para o Nehalem, que também terá uma GPU embutida, o que mostra que a fusão de processador e placa 3D pode estar mais próxima do que podemos imaginar.
Deixe seu comentário