Por Dentro da Arquitetura K10 da AMD
Por Gabriel Torres e Cássio Lima em 13 de setembro de 2007

Introdução

K10 é o nome da nova arquitetura que será usada pelos os novos processadores da AMD, como o Phenom e o Opteron baseado no tão aguardado núcleo “Barcelona”. Acontece que muita gente está fazendo uma grande confusão chamando a arquitetura K10 de “Barcelona”, o que está errado. Barcelona é apenas um dos processadores que usarão a nova arquitetura K10. Neste tutorial explicaremos em detalhes a arquitetura K10 e apresentaremos um cronograma de lançamento de todos os produtos baseados nessa nova microarquitetura da AMD.

A nova arquitetura K10 é baseada na arquitetura K8 (também conhecida como AMD64) com alguns melhoramentos. Por essa razão, recomendamos a leitura do nosso tutorial Por Dentro da Arquitetura AMD64 antes de continuar lendo este. A propósito, a AMD nunca lançou uma arquitetura chamada K9, de K8 eles pularam para K10.

Na Figura 1 você pode ver os principais aprimoramentos trazidos pela microarquitetura K10 em relação à microarquitetura K8.

microarquitetura K10
clique para ampliar
Figura 1: Aprimoramentos da microarquitetura K10 em relação à microarquitetura K8.

Os principais pontos aprimorados foram:

  • A unidade de busca é capaz de pegar 32 bytes (256 bits) de dados por pulso de clock do cache L1 de instruções – isto é o dobro do que os processadores baseados na arquitetura K8 conseguem buscar. Os processadores da Intel baseados na microarquitetura Core, como o Core 2 Duo, também buscam 32 bytes por pulso de clock.
  • O uso de um caminho de dados interno realmente de 128 bits. Nos processadores baseados na microarquitetura K8 o caminho de dados interno é de apenas 64 bits. Isto é um problema para instruções SSE, já que os registradores SSE, chamados XMM, são de 128 bits. Portanto, na hora de executar uma instrução que manipula dados de 128 bits, esta operação precisa ser dividida em duas operações de 64 bits para ser executada. O novo caminho de dados de 128 bits faz com que a microarquitetura K10 seja mais rápida para executar instruções SSE que manipulam dados de 128 bits se comparada com a microarquitetura K8. Os processadores Intel baseados na microarquitetura Core (Core 2 Duo, por exemplo) também têm caminhos de dados internos de 128 bits, enquanto que os processadores baseados na microarquitetura Netburst (Pentium 4 e Pentium D) têm caminhos de dados internos de 64 bits. A AMD chama esta nova característica de “AMD Wide Floating Point Accelerator”, ou “Acelerador de Ponto Flutuante Largo”.

Na Figura 2 você pode ver uma lista das novas características introduzidas na arquitetura K10. Nós explicaremos cada uma delas nas próximas páginas.

microarquitetura K10
clique para ampliar
Figura 2: Novas características introduzidas na arquitetura K10.

Cache de Memória L3

Só para lembrar, o cache de memória é uma memória de alto desempenho (formada por circuitos de memória estática ou SRAM) embutida no processador e que é usada para armazenar dados que o processador pode precisar. Se os dados requeridos pelo processador não estiverem localizados no cache, o processador terá que buscá-los na lenta memória RAM, o que reduz o desempenho do micro, já que a memória RAM é acessada através do clock externo do processador. Por exemplo, um processador AMD de 3 GHz, o cache de memória é acessado a 3 GHz, mas a memória RAM é acessada a 800 MHz (caso você esteja usando memórias DDR2-800) ou menos.

Nos processadores Pentium D e nos processadores AMD de dois núcleos baseados na arquitetura K8, cada núcleo do processador tem seu próprio cache de memória L2. Nos processadores de dois núcleos da Intel baseados nas microarquiteturas Core e Pentium M existe apenas um único cache de memória L2, que é compartilhado entre os dois núcleos.

A Intel afirma que a arquitetura compartilhada é melhor, pois na abordagem com cache separado em um dado momento um núcleo pode estar com o seu cache “cheio” enquanto que o outro núcleo pode ter partes não usadas do seu cache L2. Quando isso acontece, o primeiro núcleo precisa buscar dados na memória RAM, apesar de haver espaço vazio no cache de memória L2 do segundo núcleo que poderia ser usado para armazenar dados e evitar que o primeiro núcleo acesse a memória RAM. Portanto, em um processador Core 2 Duo com 4 MB de cache de memória L2, um núcleo pode estar usando 3,5 MB enquanto que o outro pode estar usando 512 KB (0,5 MB), ao contrário da divisão fixa de 50%-50% usada em outros processadores de dois núcleos.

Por outro lado, os atuais processadores de quatro núcleos da Intel, como o Core 2 Extreme QX e o Core 2 Quad, usam dois chips de dois núcleos, o que significa que este compartilhamento ocorre apenas entre os núcleos 1-2 e 3-4. No futuro a Intel planeja lançar processadores de quatro núcleos usando um único chip. Quanto isso acontecer o cache L2 será compartilhado entre os quatro núcleos.

Na Figura 3 você pode ver uma comparação entre essas três soluções de cache de memória L2.

microarquitetura K10
clique para ampliar
Figura 3: Comparação entre as atuais soluções de cache de memória L2 presentes nos processadores de núcleos múltiplos.

A arquitetura K10 adiciona um cache de memória L3 compartilhado dentro do processador. Isto é mostrado na Figura 4. O tamanho desse cache dependerá do modelo do processador, da mesma forma que acontece com o tamanho do cache L2.

microarquitetura K10
clique para ampliar
Figura 4: Arquitetura K10.

A AMD chama esta abordagem de “Balanced Smart Cache”, ou “Cache Inteligente Balanceado”.

A propósito, o cache de memória L1 continua inalterado: 64 KB para instruções e 64 KB para dados por núcleo (na Figura 1 a AMD mostra “512 KB”, mas este é o total para um processador de quatro núcleos).

Controlador de Memória Independente

Quanto mais dados o processador buscar da memória RAM por pulso de clock, mais rápido o computador será. Como explicamos na página anterior, o processador é muito mais rápido do que a memória RAM. Portanto, quanto menos o processador precisar acessar a memória RAM, melhor. A busca de uma quantidade maior de dados por pulso de clock evita que isto aconteça.

Os módulos de memória são dispositivos de 64 bits. Em vez de lançar módulos de memória de 128 bits, os fabricantes de processadores e chipsets vieram com a idéia de memória de duplo canal, uma maneira de acessar dois módulos de memória simultaneamente, como se esses dois módulos de memória de 64 bits fossem um único módulo de 128 bits. Isto dobra a taxa de transferência da memória, já que agora em vez de um dado de 64 bits, dois dados de 64 bits podem ser carregados por pulso de clock.

O problema com a tecnologia de dois canais é que o segundo dado de 64 bits é carregado junto com o dado que foi originalmente requisitado e está necessariamente armazenado no endereço de memória seguinte. Por exemplo, se o processador solicitar o dado A armazenado no endereço 1, o controlador de memória irá automaticamente carregar o dado A e o dado B, que está armazenado no endereço de memória 2.

Se o processador não precisar do dado B, de nada adiantou a carga antecipada desse dado, já que o controlador de memória não pode usar esta busca antecipada para ler um dado que esteja armazenado em um endereço que não seja o adjacente ao dado solicitado.

O controlador de memória usado na arquitetura K10 permite que o processador carregue um dado armazenado em um endereço diferente do endereço adjacente. Esta independência aumentará o desempenho do processador, não carregando da memória dados que não serão usados. A Figura 5 ilustra isto, onde o processador deseja carregar os dados A e F. Na arquitetura K8, ilustrada do lado esquerdo, duas buscas são necessárias (já que dois dados são completamente inúteis), enquanto que na arquitetura K10 apenas uma busca é necessária.

microarquitetura K10
clique para ampliar
Figura 5: Controlador de memória independente.

A AMD chama este recurso de “AMD Memory Optimizer Technology”, ou “Tecnologia de Otimização de Memória”.

A propósito, parece que a AMD consertou o problema do “divisor quebrado” encontrado nos processadores soquete AM2 atuais. Vamos aguardar para ver se isto é realmente verdade.

Recursos de Economia de Energia

A maioria das novas funcionalidades introduzidas pela a nova arquitetura K10 é destinada à economia de energia – o que faz com que o processador produza menos calor.

Esses recursos são:

  • Tecnologia de Núcleo Dinâmico Independente (Independent Dynamic Core Technology), que permite que cada núcleo do processador trabalhe com um clock diferente. A tensão de alimentação dos núcleos, no entanto, é compartilhada e será a tensão exigida pelo o núcleo que estiver trabalhando com o clock mais elevado.
  • Tecnologia CoolCore, que permite ao processador desligar automaticamente partes que não estejam sendo usadas. Os processadores baseados na microarquitetura Core têm uma tecnologia similar chamada Chaveamento Elétrico Avançado (“Advanced Power Gating”).

microarquitetura K10
clique para ampliar
Figura 6: Tecnologia CoolCore.

  • Gerenciamento Elétrico Dinâmico Duplo (Dual Dynamic Power Management,  DDPM), informalmente conhecida como “split-plane” (“alimentação dividida”), esta tecnologia permite que o processador e o controlador de memória (que está embutido dentro do processador) usem linhas separadas de alimentação – ou seja, tenham tensões de alimentação diferentes. Isto permitirá que o controlador de memória trabalhe com clocks mais elevados – tipicamente 200 MHz acima do clock padrão. Esta tecnologia permite ainda que o processador reduza sua tensão de alimentação e mantenha o controlador de memória trabalhando em seu desempenho máximo, quando o processador entrar em um de seus modos de economia de energia. Quando instalada em placas-mãe mais antigas que não tenham alimentação separada para o processador e para o controlador de memória, o processador trabalhará igual aos processadores com arquitetura K8, ou seja, usará apenas uma única tensão para alimentar tanto o processador quanto o controlador de memória.

microarquitetura K10
clique para ampliar
Figura 7: Gerenciamento elétrico dinâmico duplo (DDPM).

microarquitetura K10
clique para ampliar
Figura 8: Gerenciamento elétrico dinâmico duplo (DDPM).

  • Os processadores para computadores de mesa usarão o barramento HyperTransport 3.0 em vez do barramento HyperTransport 1.x (processadores para servidores usarão o HT3 no futuro). Há dois objetivos aqui. O mais óbvio é uma maior taxa de transferência para acessar periféricos, já que usando o HT3 os processadores baseados na microarquitetura K10 serão capazes de acessar o mundo externo a até 10.400 MB/s (processadores baseados na arquitetura K8 são capazes de efetuar transferências a até 4.000 MB/s) – isto é um importante aumento de 2,6 vezes na largura de banda disponível. Mas a vantagem não tão óbvia é a economia de energia, há que o HT3 permite que o processador mude o clock do barramento HyperTransport e a quantidade de bits que são transferidos por pulso de clock automaticamente. Por exemplo, se o processador sente que a taxa de transferência de 10.400 MB/s é muito alta para o que ele está fazendo no momento, ele pode diminuir o clock do barramento HyperTransport (e a quantidade de bits transmitidos) para um valor mais compatível para o que ele esteja fazendo. Quanto menor o clock e o número de bits transmitidos por pulso de clock, menor é o consumo elétrico. Como o HT3 mantém compatibilidade com o HT1, os processadores baseados na arquitetura K10 podem ser instalados em placas-mãe antigas, mas seu barramento HyperTransport trabalhará com um clock menor. Para uma discussão mais detalhada sobre o HyperTransport 3.0 leia nosso tutorial O Barramento HyperTransport usado pelos Processadores da AMD.

Vamos falar agora sobre os processadores que usarão a nova arquitetura K10.

Processadores K10 para Servidores

Você pode ver o cronograma de lançamento dos processadores para servidores baseados na arquitetura K10 nas Figuras 9 e 10.

microarquitetura K10
clique para ampliar
Figura 9: Cronograma de lançamento dos processadores K10 para servidores.

microarquitetura K10
clique para ampliar
Figura 10: Cronograma de lançamento dos processadores K10 para servidores.

Como era de se esperar, o primeiro processador a usar a nova arquitetura K10 é o Opteron de quatro núcleos baseado no núcleo “Barcelona”. Na Figura 11 você confere todos os modelos de Opteron “Barcelona” que a AMD pretende lançar e na tabela seguinte os modelos lançados até o momento.

microarquitetura K10
clique para ampliar
Figura 11: Clocks e dissipação térmica dos processadores Opteron de quatro núcleos “Barcelona”.

Opteron Série 2300

Modelo

Clock

TDP

2350

2,0 GHz

95W

2347

1,9 GHz

95W

2347 HE

1,9 GHz

68W

2346 HE

1,8 GHz

68W

2344 HE

1,7 GHz

68W

 Opteron Série 8300

Modelo

Clock

TDP

8350

2,0 GHz

95W

8347

1,9 GHz

95W

8347 HE

1,9 GHz

68W

8346 HE

1,8 GHz

68W

Aqui está um resumo dos núcleos que serão lançados para o mercado de servidores baseados na arquitetura K10.

  • Barcelona: Opteron de quatro ou dois núcleos série 2000 e 8000, 512 KB de cache L2 por núcleo, 2 MB de cache de memória L3, memória DDR2 registrada, soquete 1207 (soquete F), HyperTransport 1.x, processo de fabricação de 65 nm.
  • Budapest: Opteron de dois núcleos série 1000, 512 KB de cache de memória L2 por núcleo, 2 MB de cache de memória L3, memória DDR2 convencional, soquete 1207 (soquete F), HyperTransport 1.x ou 3.0, processo de fabricação de 65 nm.
  • Shanghai: Opteron de quatro ou dois núcleos séries 2000 e 8000, 512 KB de cache de memória L2 por núcleo, 6 MB de cache de memória L3, memória DDR2 registrada, soquete 1207 (soquete F), HyperTransport 1.x, processo de fabricação de 45 nm.
  • Montreal: Opteron de oito ou quatro núcleos séries 2000 e 8000, 1 MB de cache de memória L2 por núcleo, 6 MB ou 12 MB de cache de memória L3, memória DDR3 registrada, soquete G3, HyperTransport 1.x, processo de fabricação de 45 nm.
  • Suzuka: Opteron de quatro ou dois núcleos série 1000, 512 KB de cache de memória L2 por núcleo, 6 MB de cache de memória L3, memória DDR3 convencional, soquete AM3, HyperTransport 3.0, processo de fabricação de 45 nm.

Vamos ver agora o cronograma de lançamento dos processadores K10 para computadores de mesa.

Processadores K10 para Desktops

Você pode ver os processadores para computadores de mesa baseados na arquitetura K10 na Figura 12.

microarquitetura K10
clique para ampliar
Figura 12: Cronograma de lançamento dos processadores K10 para computadores de mesa.

A AMD não divulgou os números dos modelos para esses processadores.

Aqui está um resumo dos núcleos que serão lançados para o mercado de computadores de mesa baseados na arquitetura K10:

  • Spica: Um Sempron LE com um único núcleo, com 512 KB de cache de memória L2, memória DDR2 convencional, HyperTransport 3.0 e soquete AM2+.
  • Rana: Processador Athlon X2 LS de dois núcleos, com 512 KB de memória L2 por núcleo, cache de memória L3 (quantidade ainda não divulgada), memória DDR2 convencional, HyperTransport 3.0 e soquete AM2+.
  • Kuma: Processador Phenom X2 de dois núcleos, 512 KB de cache de memória L2 por núcleo, 2 MB de cache de memória L3, memória DDR2 convencional, HyperTransport 3.0 e soquete AM2+.
  • Agena: Processador Phenom X4 de quatro núcleos, com 512 KB de cache de memória L2 por núcleo, 2 MB de cache de memória L3, memória DDR2 convencional, HyperTransport 3.0 e soquete AM2+.
  • Agena FX: Processador Phenom FX de quatro núcleos, com 512 KB de cache de memória por núcleo, 2 MB de cache de memória L3, memória DDR2 convencional, HyperTransport 3.0 e soquete AM2+ ou soquete 1207+.

O soquete AM2+ e o soquete 1207+ são soquetes AM2 e 1207 (soquete F) suportando as tecnologias HyperTransport 3.0 e Dynamic Power Management (DDPM ou Gerenciamento Elétrico Dinâmico Duplo). Como dissemos anteriormente, você pode instalar processadores baseados na arquitetura K10 em placas-mãe soquete AM2 ou soquete F antigas, no entanto o processador não usará as novas taxas de transferências e novos recursos trazidos pelo HyperTransport 3.0 nem a tensão de alimentação separada para o controlador de memória – tanto o processador quanto o controlador de memória serão alimentados com a mesma tensão.

Originalmente em http://www.clubedohardware.com.br/artigos/1408

© 1996-2008, Clube do Hardware. Todos os direitos reservados.

É expressamente proibida a reprodução total ou parcial do conteúdo deste site e dos textos disponíveis, seja através de mídia eletrônica, impressa, ou qualquer outra forma de distribuição. Os infratores serão indiciados e punidos com base na lei nº 9.610 de 19/02/1998.

Não nos responsabilizamos por danos materiais e/ou morais de qualquer espécie promovidos pelo uso das informações contidas no Clube do Hardware.