O AMD Bulldozer é um demônio da velocidade

A AMD apresentou alguns detalhes adicionais sobre sua nova arquitetura de microprocessadores x86 de alta performance nas conferências HotChips e GlobalFoundries, e desde então muitos detalhes técnicos mais precisos surgiram, os quais vamos mostrar aqui.


Além do Bulldozer, a AMD trabalha simultaneamente no desenvolvimento de outra nova arquitetura x86 destinada ao segmento de baixo consumo - Bobcat. Criar uma nova arquitetura x86 já é uma tarefa extremamente complexa. A AMD está fazendo duas, algo que jamais foi feito em sua história, sendo que a arquitetura Bulldozer é, de longe, o projeto mais sofisticado e complexo da AMD.



Esse contexto mostra o tamanho do desafio imposto à engenharia da empresa, que, nestes dois casos, ao que parece, resolveu adotar uma estratégia diferente da que vinha sendo usada até então.

As novas arquiteturas da AMD apontam para uma diferenciação em relação à Intel, além de capitalizar os frutos de sua fusão com a ATI em 2006.

A estratégia da AMD com o Bulldozer

Pelos detalhes que foram apresentados até o momento, é possível dizer que a AMD optou por privilegiar dois aspectos da arquitetura: clock e throughput, ao invés de perseguir a máxima performance em single thread, que é o foco dos projetos da Intel. Com isso a AMD aposta na prevalência das cargas de trabalho altamente paralelas.

Assim, o Bulldozer é a primeira arquitetura x86 a estabelecer o compartilhamento de diversos componentes internos do chip, chegando ao ponto de mudar o conceito tradicional de núcleo x86.

Um núcleo de processamento x86 até hoje é conhecido como uma estrutura contendo uma unidade de cálculo de inteiros, uma unidade de ponto flutuante, e caches de memória L1 e L2 associados. Na realidade, o sistema operacional enxerga cada unidade de cálculo de inteiros como um núcleo, e essa era a definição tradicional de CPU x86.



O Bulldozer muda esse conceito. O núcleo tradicional foi desmembrado, com a duplicação das unidades de cálculos de inteiros e seus respectivos scheduler´s e caches L1, e compartilham a unidade de ponto flutuante (FPU), o decodificador de instruções e os caches L2. O que foi ou não compartilhado partiu de uma análise feita pela engenharia para determinar quais componentes poderiam manter-se compartilhados, sem que ocorresse perda de performance.


Essa nova unidade x86, que a AMD chama de "módulo" Bulldozer, contém, portanto, duas unidades de cálculos de inteiros e dois caches L1, uma unidade de ponto flutuante e um cache L2. Como uma unidade de inteiros é vista pelo sistema operacional como um núcleo x86, um módulo Bulldozer será enxergado pelo SO sempre como dois núcleos de processamento.



A unidade de ponto flutuante (FPU), porém, também traz novidades. Em linhas gerais, ela é uma unidade capaz de operar em 256 bits, mas, na realidade, a FPU do Bulldozer são duas FPU de 128 bits associadas, capaz de trabalhar como uma única unidade de FPU de 256 bits, ou como duas unidades independentes de 128 bits, dependendo do perfil de utilização da aplicação.

Outra inovação da arquitetura Bulldozer é sua natureza modular, e isso se manifesta também na unidade de cálculo de ponto flutuante (FPU), a qual poderá ser substituída, no futuro, por uma GPU, dentro do conceito Fusion, e que aponta para as futuras gerações do AMD Fusion com núcleos x86 baseados na arquitetura Bulldozer.

Buldozer: um demônio de velocidade

Outro aspecto que fica claro na arquitetura Bulldozer é que seu projeto busca elevadas frequencias de operação (clock). O comprimento dos pipelines foram ampliados de 17 estágios no Deneb/Shangai para 23 estágios no Bulldozer, em um tipo de projeto conhecido como "speed demon (demônio de velocidade)", algo similar ao que a IBM adota no processador Power 7, que chega a operar em frequencias superiores a 5Ghz.



Decodificador de instruções

Uma desvantagem das arquiteturas da AMD em relação às da Intel era o decodificador de instruções, que, no caso dos Intel tem capacidade de decodificar até 4 instruções x86 por ciclo de clock, enquanto os AMD, até este momento, fazem apenas 3 decodificações por ciclo.



O decodificador do Bulldozer, porém, acaba com essa desvantagem e é capaz de decodificar até 4 instruções por ciclo de clock, colocando-o no nível dos decodificadores presentes nos microprocessadores Intel.

Controlador de memória

Um dos principais avanços do Bulldozer em relação a seus predecessores é exatamente no sub-sistema de memória. Um dos aspectos que explica a menor performance dos AMD Phenom em relação aos Intel Nahalem é exatamente a menor velocidade na leitura e gravação de dados na memória. Isso faz com que os núcleos do Phenom fiquem ciclos parados esperando os dados virem da memória ou mesmo dos caches.

Com o Bulldozer a AMD reformulou significativamente essa estrutura interna, de forma a ampliar a capacidade de leitura de gravação na memória, diminuindo os ciclos de inatividade dos núcleos e elevando a performance global do sistema.

Caches L1, L2 e L3

A maioria dos microprocessadores baseados na arquitetura Bulldozer irá apresentar um cache L3 compartilhado. A estimativa é a de que um processador Bulldozer tetra-modular (8 núcleos do processamento) disponha de 8MB de cache L2 para os 4 módulos (2 MB de cache L2 para cada módulo), e mais 8MB de cache L3.

Sub-sistema de gerenciamento de energia

O AMD Bulldozer será fabricado inicialmente no processo Global Foundries SOI 32nm, o mesmo que será usado no Llano. O sistema de gerenciamento de energia digital previsto para o Llano também deverá estar presente no Bulldozer, e representa um ruptura revolucionária nesse tipo de estrutura interna de processadores.

Os sistemas atuais de gerenciamento do orçamento de energia dos microprocessadores são analógicos, e usam informações colotadas por diodos posicionados em determinas posições do chip, os quais agem como sensores térmicos.

A temperatura do chip é associada com o consumo de energia, e esses dados alimentam o módulo de controle de potência, que ajusta a frequencia de operação como resposta à elevações ou reduções de temperatura. O problema desse tipo de abordagem é que a temperatura do chip pode não corresponder ao nível de atividade computacional daquela parte do processador.

Assim, o novo sistema de gerenciamento de energia do Bulldozer é composto por um conjunto de 95 sinais digitais dentro do chip que, segundo um modelo matemático empirico desenvolvido pela AMD,  traça com precisão de 2% o mapeamento de uso de energia nas diversas partes do processador, o que permitirá, inclusive, desligar partes inteiras do processador que não estiverem em uso, para aproveitar a energia que seria gasta naquela estrutura para acelerar outros componentes que estão sendo demandados.

 Performance: Sandy Bridge x Bulldozer 

A grande questão em aberto é se o Bulldozer será suficiente rápido para fazer a AMD voltar a ser competitiva em termos de performance bruta com os processadores da Intel. A resposta a esta pergunta ainda demanda informações que não estão disponíveis, mas algumas estimativas podem ser feitas.



No âmbito da Intel, os novos processadores de alta performance baseados na arquitetura Sandy Bridge LGA2011 devem apresentar-se em versões de oito núcleos e 20MB de cache L3 compartilhado, com um controlador de memória quad channel DDR3, gravados em 32nm.

É possível que os próximos Intel XEON Sandy Bridge cheguem com clock de até 3,6 GHz para os processadores de oito núcleos, e que, somados aos avanços em termos de IPC e às instruções AVX, não será surpresa que uma workstation Xeon dual socket com 16 núcleos de processamento seja capaz de entregar 460GFLOPs, algo surpreendente em termos de performance em cálculos de ponto flutuante, sobretudo quando comparados aos atuais 160GFLOPs de um dual X5680 Westmere Xeon 3,33 GHz sem extensões AVX.

No lado da AMD, o concorrente desse XEON Sandy Bridge será um Bulldozer Interlagos, que será composto de dois núcleos Bulldozer Orochi de 4 módulos e 8 núcleos cada, perfazendo um total de 16 núcleos de processamento, com 8 unidades de cálculo de ponto flutuante.

Um processador AMD Zambezi, que será composto por um núcleo Orochi, disporá de 4 módulos Bulldozer e 8 núcleos de processamento, e espera-se frequencias de operação começando em 3.2Ghz, e acima, algo similar aos atuais Phenom e Opteron de seis núcleos. Entretanto, um Interlagos terá que operar em frequencias menores, algo ao redor de 2.6GHz.

A estimativa oficial é que haverá um ganho de 50% de performance do Magny Cours para o Interlagos, o que leva a um avanço de 60% de um Magny-Cours operando a 2.3GHz para um Interlagos a 2.5Ghz. No caso dos desktops, outro ganho de 60% de performance quando comparado um AMD Phenom II X6 3.2GHz para um Bulldozer Zambezi operando em 3.5Ghz. Só isso já é o suficiente para colocar a AMD de volta no jogo, ou seja, ser competitiva em performance com a Intel.

O HT Reverso da AMD

Entretanto, entre os muitos rumores que circulam em torno do Bulldozer, um dos mais sofisticados é sobre uma funcionalidade de multithreading reversa. Em geral, uma abordagem multithreading, como é o caso do HT da Intel, permite que duas threads sejam executadas simultaneamente em um único núcleo X86.



Como a AMD está adotando uma estratégia de duplicação de estruturas internas dentro do Bulldozer, a AMD poderá introduzir no Bulldozer uma funcionalidade que permita a uma thread muito pesada em termos de carga computacional ser executada por dois núcleos x86, o que é exatamente o inverso do HT da Intel, porém perfeitamente adequada à arquitetura Bulldozer, sobretudo pelo fato da facilidade de implementação em função da característica de um único decodificador para dois núcleos de inteiros.

Ou seja, as expectativas até o momento eram de que o Bulldozer poderia ter uma performance em multi-thread superior ao XEON Sandy Bridge, porém sendo inferior em performance mono-thread. Ocorre que se a AMD implementar o Multi-threading reverso no Bulldozer, então ela poderá estar à frente da Intel em um campo dominado pela Intel nos últimos anos: performance em single-thread.

Ou seja, nessa situação, a AMD estaria na frente da Intel em dois parâmetros básicos de performance: performance em multi-thread e performance em single-thread, devolvendo a coroa de performance para AMD depois de muitos anos.

Conclusão

A arquitetura AMD Bulldozer é um projeto inovador em vários sentidos, sobretudo no âmbito das CPU x86. Rompe com uma série de paradigmas estabelecidos e é com ele que a AMD pretende retomar a liderança no lucrativo mercado de servidores da Intel.

Trata-se do mais sofisticado e complexo projeto da AMD em toda sua história, e se todas as inovações de projeto se verificarem na prática, é possível que a AMD veja-se novamente à frente da Intel em qualquer parâmetro de performance.

De qualquer forma, uma coisa é certa: 2011 promete ser um ano extremamente interessante em termos de competição por desempenho. Talvez o mais interessante ano jamais visto no mercado de CPUs x86.

Fontes: Semiaccurate  RealWorldTech  TheInquirer

---------
Vídeo de apresentação das arquiteturas Bulldozer e Bobcat na HotChips 2010

Comentários