Figura 1 –CPU AMD D8086 com a marca de copyright da Intel, fruto da parceria de 1982.
Após três anos de processo, a AMD foi vencedora, mas a Intel recorreu. Após uma
longa batalha legal, no final de 1994 a Suprema Corte da Califórnia decidiu a favor da AMD.
Figura 2 - Processador K5, primeiro projeto desenvolvido integralmente pela AMD em 1996.
O K7 da AMD foi a sétima geração do processador x86, fazendo sua estreia em junho
de 1999, sob a marca Athlon. Diferente dos processadores AMD anteriores, não pode ser
utilizado na mesma placa mãe que os processadores da Intel devido a problemas acerca do
licenciamento do conector Slot 1 da Intel, ao invés, usava um conector Slot A referência ao
barramento Alpha. O Duron foi uma versão limitada e de baixo custo do Athlon (64KB ao invés
de 256KB de cache L2) em um soquete PGA de 462 pinos (soquete A) ou soldado diretamente
na placa mãe. O Sempron foi lançado como uma alternativa de baixo custo do Athlon XP,
substituindo o Duron na era do soquete PGA.
Figura 3 - Diferenças entre o conector 370 e Slot 1 da Intel. Por problemas de licenciamento, os
processadores AMD passaram a usar placa mãe própria.
O K8 foi a maior revisão da arquitetura K7, como as mais notáveis sendo a adição de
extensões 64-bit ao conjunto de instruções x86 (denominado x86-64, AMD64 ou x64), a
incorporação de controlador de memória integrado ao chip e a implementação de uma
interconexão ponto-a-ponto de alta performance chamada HyperTransport como parte da
4
arquitetura chamada Direct Connect. A tecnologia foi lançada originalmente aos processadores
orientados a servidor (Opteron) mas logo incorporada aos produtos para desktop sob a marca
Athon 64.
Em abril de 2005 a AMD lançou o primeiro Opteron dual core, uma CPU para servidor
baseada no x86. Um mês depois, lançou o Athlon 64 X2, a primeira família de processadores
para desktop dual core. Em maio de 2007, a AMD abandonou o termo “64” de sua marca de
processadores, ficando apenas Athlon X2, minimizando a importância da computação 64-bit
em seus processadores.
5
1.3. Fusion, Bobcat, Bulldozer, Vishera, e Hondo
2. Memória
A grosso modo, podemos dizer que o Athlon X2 precisa acessar a memória com mais
frequência (devido ao cache menor) mas que em compensação perde menos tempo a cada
acesso devido ao controlador de memória integrado.
2.1.Capacidade, organização
Capacidade
6
poderia imaginar esses dois limites em ação no caso de um grande servidor, com muita memória
RAM e diversos HDs em RAID, que armazenam um grande banco de dados.
Organização
3. CPU
Em relação à geração anterior (K7), a plataforma AMD64 inclui ainda [Couto 2005]:
7
Proteção de ECC (Error Correcting Code - código de correção de erros) para
a controladora de memória integrada, para os dados do cache L1 e dados e tags
do cache L2;
Aprimoramento na previsão de desvios para maior precisão ao antecipar
chamadas de instrução;
Estruturas TLB (Translation Look-aside Buffers) avançadas para melhor
gerenciamento da memória em cargas de trabalho complexas;
Dois estágios de pipeline adicionais para escalabilidade da frequência;
Adição de instruções SSE21 (e SSE32 a partir da revisão E);
IPC (Instruções por clock) mais alto, atingido por meio de importantes recursos
adicionais, como TLBs maiores, filtros de descarga e algoritmos aprimorados
de previsão de desvio.
3.2 Registradores
Oito registradores 8-bit (AH, AL, BH, BL, CH, CL, DH, DL).
Oito registradores 16-bit (AX, BX, CX, DX, DI, SI, BP, SP).
Oito registradores 32-bit (EAX, EBX, ECX, EDX, EDI, ESI, EBP, ESP).
No modo 64-bit, oito novos registradores de uso geral (GPRs) são acrescentados.
Todos os 16 registradores possuem o tamanho de 64 bits.
8
processador, manipulação de erros de programa e sistema e gerência de
memória.
c. SSE - (Streaming SIMD Extensions) – São instruções para carregar, gravar ou
operar dados alocados nos registradores YMM/XMM. Estas instruções
definem simultaneamente operações vetoriais e escalar em ponto flutuante e
dados do tipo inteiro. Estes incluem instruções SSE e SSE2 que operam nos
registros YMM/XMM. Algumas destas instruções convertem operandos
originados em registradores YMM/XMM para operandos destinatários em
registradores GPR, MMX ou x87 ou por outro lado afetam o estado
YMM/XMM.
d. Instruções de Mídia 64-bit (64-bit media instructions). Carregam, salvam ou
operam dados alocados em registradores 64-bit MMX. Estas instruções
definem operações vetorial e escalar em dados inteiros e em ponto-flutuante.
Estes incluem instruções MMX original, instruções 3DNow! E extensões
AMD para o conjunto de instruções MMX e 3DNow!. Algumas destas
instruções convertem operandos originados em registradores MMX para
operandos destinados em GPR, YMM/XMM ou x87 ou, por outro lado, afetam
o estado MMX.
e. Instruções de ponto flutuante x87 (x87 Floating-Point Instructions). São
usadas em aplicações de legado em ponto-flutuante. Muitas destas instruções
carregam, salvam ou operam dados alocados nos registradores x87 ST(0)-
ST(7) (os registradores físicos FPR0-FPR7). As instruções restantes desta
categoria são utilizadas para gerenciar o ambiente de ponto-flutuante x87.
3.4 Pipeline
i. Fetch 1
ii. Fetch 2
iii. Pick
iv. Decode 1
v. Decode 2
vi. Pack
vii. Pack/decode
viii. Dispack
ix. AGU
x. ALU
xi. Datacache1
9
xii. Datacache2
Podemos descrever os passos do pipeline:
3.5 Barramentos
11
dados entre o processador e o resto do PC, as transferências de memória e de entrada/saída
competem entre si pelo uso do barramento, o que reduz o desempenho.
4. Atualidades/curiosidades
12
5. Bibliografia
https://en.wikipedia.org/wiki/Comparison_of_AMD_processors
TORRES, Gabriel – Tudo o que você precisa saber sobre o barramento Hyper
Transport disponível em http://www.clubedohardware.com.br/artigos/tudo-o-que-voce-
precisa-saber-sobre-o-barramento-hypertransport/522 acessado em 26/11/2015
14