Há poucos dias publicamos aqui no Guia do PC que o time de overclockers da AMD havia conseguido estabelecer um novo recorde mundial de overclock. Com o AMD FX-8150, processador topo de linha da empresa, eles alcançaram a incrível marca de 8,43 GHz. O novo processador da companhia utiliza também uma nova arquitetura, chamada de Bulldozer, desenvolvida praticamente do zero, aproveitando apenas os pontos positivos da antiga, a saber, AMD64, que vinha sendo usada desde 2003.
A arquitetura Bulldozer continuará com o controlador de memória integrado ao processador, assim como acontecia na AMD64, e também usará o barramento HyperTransport para intermediar a comunicação do processador com o chipset. Das novidades, podemos falar do equivalente ao Turbo Boost, da Intel, que faz um overclock automático do processador quando ele estiver sendo bem exigido. Pois bem, vamos destrinchar os detalhes do Bulldozer e já de antemão aviso: usarei muitos termos técnicos, portanto, pressuponho que você, caro leitor, já tenha um certo conhecimento na área. Mas tentarei tornar o texto o mais coloquial e informal possível. :)
Conjunto de instruções
Vamos começar falando sobre os conjuntos de instruções que o Bulldozer possui. Conjunto de instruções, como o nome diz, são instruções que o processador deve executar para realizar determinadas tarefas. Quanto mais instruções ele contiver, mais tarefas ele vai saber realizar e de forma mais eficiente. Pois bem, os processadores Bulldozer suportarão todas as instruções x86, e também as seguintes: SSE4.1; SSE4.2; AVX; AES e LWP. Vamos entender esse emaranhado de siglas.
As instruções SSE4.1 e SSE4.2 dizem respeito ao processamento de aplicações multimídia, como imagem e processamento de vídeo, aumentando o seu desempenho. Elas já existem faz algum tempo, mas a AMD usava um conjunto proprietário, chamado SSE4a, que é inferior ao atual. O conjunto AES (Advanced Encryption Standard ou Padrão de Criptografia Avançada), como o nome deixa claro, diz respeito a como o chip lidará com criptografia. Ele contém 6 novas instruções e você pode ler detalhadamente sobre elas aqui.
O conjunto AVX (Advanced Vector Extensions ou Extensões de Vetor Avançadas) é uma evolução do SSE4.2. Originalmente, a AMD desenvolveu um conjunto de instruções SSE5 e submeteu à Intel, que por sua vez, rejeitou. Ela então desenvolveu seu próprio conjunto, que batizou de AVX e que a AMD resolveu incluir na sua arquitetura Bulldozer. Este conjunto traz 12 novas instruções e aumenta o desempenho do processamento de dados, processando 256 bits de dados de uma vez, em vez de 128. Algo a se ressaltar, é que no Bulldozer a AMD resolveu incluir mais algumas instruções originalmente propostas no SSE5, portanto, a implementação da AMD é mais completa que a da Intel.
Por fim, temos o conjunto LWP (Light Weight Profiling ou Perfil Peso Leve), que permite que a CPU monitore o desempenho de programas afim de que eles consigam extrair a máxima capacidade de processamento. Este conjunto tem 6 novas instruções, que você pode conhecer em detalhes aqui.
Módulos do Processador

Acima você pode ver o diagrama dos processadores Bulldozer. Em comparação com a arquitetura anterior, eles mudaram bastante coisa. Eles trabalham com o conceito de módulos, onde em cada módulo há dois núcleos trabalhando. Além disso, certos recursos são compartilhados entre os módulos. Por exemplo, se cada núcleo tivesse as mesmas unidades, elas ficariam ociosas na maior parte do tempo. Mas como eles compartilham essas unidades, elas sempre estarão em uso, aumentando a perfomance e diminuindo o custo de fabricação do mesmo. Visto que serão alocadas menos unidades, e consequentemente menos material será usado, o que implica também em um menor consumo elétrico e geração de calor.
Uma coisa importante a se notar, é que em cada módulo não há dois núcleos completos. Isso é apenas para propósito de marketing. Ele não possui dois núcleos físicos completos, visto que ele compartilha alguns elementos entre os núcleos, mas cada módulo trabalha como se fossem dois núcleos. Portanto, a AMD não está fazendo propaganda enganosa. Para o FX-8150, por exemplo, ter oito núcleos, ele usa quatro módulos desses, que compartilham recursos físicos entre si. É como a tecnologia Hyper-Threading, só que bem mais melhorada!

Unidades de Busca e Decodificação
Unidade de busca tem por objetivo buscar, ou pegar, a próxima informação da memória RAM ou cache para ser decodificada no processador. Esta unidade é um dos componentes que é compartilhado por módulo, que por sua vez possui dois núcleos, como vimos acima. O cahe L1 de instruções, que é parte essencial da unidade de busca, possui 64 KB, que são compartilhados entre os dois núcleos do módulo. Essa é a mesma técnica usada na arquitetura AMD64, só que na Bulldozer, além do cache L1 compartilhado, cada núcleo terá um cache próprio de 16 KB, que é bem pequeno, por sinal.
A unidade de decodificação tem por função decodificar os códigos. Como assim? Os programas que você usa no PC são escritos com instruções x86, no entanto, o processador só entende instruções RISC, que é proprietária. Para haver um entendimento entre o programa e o processador, a unidade de decodificação traduz instruções x86 em RISC. No Bulldozer, existem 4 decodificadores, e obrigatoriamente um deles decodifica exclusivamente instruções complexas, que levam vários ciclos de clock. Quanto mais decodificadores trabalharem com este tipo de instrução, mais rápido ele será. Infelizmente, a AMD não divulgou quanto destes 4 trabalham com instruções complexas.
Unidades de Execução
As unidades de execução, como o nome diz, executam as instruções que foram decodificadas no estágio anterior. A unidade de execução é dividida em três partes: unidade de agendamento, unidade de número inteiro e unidade de ponto flutuante. Após a decodificação da instrução x86, ela é enviada para a área de agendamento que então a encaminha ou para a unidade de ponto flutuante ou para a unidade de número inteiro. A arquitetura Bulldozer usa apenas uma unidade de ponto flutuante, que também é compartilhada entre os núcleos. Por outro lado, ela tem unidade de números inteiros independentes.
Cada setor de números inteiros tem mais 4 unidades de execução. São elas: A EX, MUL, que pode executar qualquer tipo de instrução inteira, inclusive multiplicação, mas não divisão. A EX, DIV, que executa divisão em vez de multiplicação. E a AGen, também chamada de Unidade de Geração de Endereços, que gera os endereços onde o processador buscará algum dado armazenado.

Uma coisa interessante a respeito da arquitetura Bulldozer, é que ela não usa uma ordem para executar as instruções. Por exemplo, suponhamos que determinado código precise ser executado na unidade de divisão, mas ela está ocupada com outra instrução, então a unidade de agendamento, procurará outra instrução diferente, para ser executada em outra unidade que esteja livre. A sua função é exatamente esta, manter todos os motores de execução ocupados a maior parte do tempo, sem precisar seguir uma ordem de chegada das instruções.
Cache L2 e Gerenciamento de Energia
O cache L2 da arquitetura Bulldozer será compartilhado entre os módulos, ou seja, por cada dois núcleos. Há ainda um cache de memória L3, que será usado por todos os núcleos disponíveis. No campo do gerenciamento de energia, o Bulldozer é capaz de fazer coisas interessantes.

Por exemplo, o power gating, ou chaveamento de circuitos, permite que o processador desligue unidades que não estão sendo usadas, ou até mesmo núcleos inteiros quando não estiverem sendo usados, economizando energia elétrica. Além disso, a AMD colocou um recurso que mede a atividade do processador e estimar a energia que está sendo dissipada, ou perdida. Isso é útil para ver se o Bulldozer pode ou não entrar em overclock automático quando necessário. Se um determinado programa requer processamento mais elevado, ele mede a dissipação térmica, e se estiver dentro do padrão, ele realiza o overclock.
Concluindo
O primeiro processador a se valer da arquitetura Bulldozer é o FX-8150, com oito núcleos, que como vimos, são na verdade 4 módulos. Ele compete com a linha Core i5, na sua mesma faixa de preço, 220~280 dólares, mas tem desempenho similar a um Core i7, que custa uns 50~70 dólares a mais. Esta é a AMD mais uma vez provendo um ótimo custo x benefício em seus chips.
Usando um conjunto de instruções mais completo que a concorrência, posicionamento dos módulos do processador de forma que ele ganhe em desempenho e custo de fabricação, e um sistema de busca, decodificação e execução de dados eficiente, a arquitetura Bulldozer promete competir de igual para igual com os processadores topo de linha da Intel.