Você está na página 1de 14

Faculdade de Tecnologia de Sorocaba

Trabalho AORG – Arquitetura e Organização de Computadores

Linha de processadores AMD

Professora Maria Angélica Calixto de Andrade Cardieri

Diego de Siqueira Garcia RA 0030481523011

Jonathan Gabriel P. Santos RA 0030481523043

Leandro Michelsen RA 0030481523021

Lucas do Nacimento Costa RA 0030481523023

Wagner Alves Pereira RA 0030481523033


1. Histórico e evolução da família de processadores

A AMD (Advanced Micro Devices) foi oficialmente incorporada em 01/05/1969 por


Jerry Sanders juntamente com sete de seus colegas da Fairchild Semiconductor. Inicialmente
produzia circuitos lógicos e em 1975 ingressou no mercado de circuitos integrados para
memória RAM (AMD).

Em fevereiro de 1982 assinou um contrato coma Intel, tornando-se um fabricante


licenciado alternativo dos processadores 8086 e 8088. A IBM necessitava usar o 8088 em seus
PCs, mas a política da IBM na época requeria ao menos dois fornecedores. Posteriormente
produziu o Am286 sob o mesmo acordo. Em 1984 a Intel, a fim de consolidar a sua vantagem
no mercado, internamente decidiu deixar de cooperar com a AMD no fornecimento de
informações sobre o produto e atrasou e, eventualmente, recusou-se a transmitir os detalhes
técnicos do Intel 80386 para a AMD. Em 1987 a AMD invocou arbitragem sobre a questão e a
Intel reagiu cancelando o acordo de intercâmbio tecnológico 1982 por completo.

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.

Em 1990 a Intel processou a AMD, renegando o direito de usar tecnologia derivadas


do microcódigo da Intel em seus processadores clonados. Em face à uma disputa legal incerta,
a AMD foi forçada a desenvolver versões “clear room” do código dos processadores Intel x386
e x486. Desenvolvimento clean room é o método de cópia de um projeto por engenharia reversa
2
e a recriação dele sem infringir qualquer patente associada do projeto original (WIKIPEDIA).
Em março de 1991 a AMD lançou o Am386, clone do Intel 386. Em outubro do mesmo ano
foram vendidas 1 milhão de unidades.

Em 1993 introduziu os primeiros modelos da família Am486, que se popularizou com


um grande número de fabricantes de equipamentos, incluindo a Compaq, com um contrato de
fornecimento com exclusividade. Outro processador baseado no Am486, o Am5x86, foi
lançado em novembro de 1995.

Finalmente, em um acordo firmado em 1996, a AMD conseguiu os direitos ao


microcódigo das famílias de processadores Intel x386 e x486 mas não o direito ao microcódigo
nas gerações seguintes.

1.1. K5, K6, Athlon, Duron e Sempron

O primeiro processador desenvolvido integralmente pela AMD foi o K5, lançado em


1996. A letra “K” foi uma referência à Kriptonita (Em quadrinhos, a única substância que
enfraquece o Super-Homem. Esta é uma referência à hegemonia da Intel no mercado). O
número “5” refere-se à quinta geração dos processadores x86.

Figura 2 - Processador K5, primeiro projeto desenvolvido integralmente pela AMD em 1996.

Em 1996, a AMD comprou a NexGen, especificamente pelos direitos aos


processadores da série Nx compatíveis com x86. A AMD deu à equipe de projetistas da NexGen
3
um prédio próprio e independência, e lhes deu tempo e dinheiro para retrabalhar o Nx686. O
resultado foi o processador K6, introduzido em 1997. Embora o K6 fosse baseado no soquete
7, suas variantes como o K6-3/450 era mais rápido que o Pentium II (sexta geração) da Intel.

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.

Em outubro de 2001 o Athlon XP foi lançado e em fevereiro de 2003 o Athlon XP


com 512KB de cache L2 foi lançado.

1.2. Athlon 64, Opteron e Phenom

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.

Figura 4 - Imagem ampliada de um processador Phenom X4 com destaque para os principais


componentes como: Barramento HyperTransport ,Controlador de memória, núcleos físicos e cache.

Após o K8 veio o K10. Em setembro de 2007 a AMD lançou o primeiro processador


K10, a terceira geração de processadores Opteron, seguido pelo processador Phenom para
desktop. Processadores K10 vinham em versões dual-core, triple-core e quad-core, com todos
os núcleos em um único chip.

5
1.3. Fusion, Bobcat, Bulldozer, Vishera, e Hondo

A AMD adquire em 2006 a canadense ATI Technologies e anuncia a iniciativa Fusion


visando unir a CPU e GPU em um mesmo chip eliminando a necessidade de um chip para a
ponte norte da placa mãe. Esta iniciativa transferiu alguns processos originais da CPU (como
as operações de ponto-flutuante) para a GPU, que é melhor otimizado para estes cálculos. Isto
passou a ser referido pela AMD como APU (accelerated processing unit ou unidade de
processamento rápido).

2. Memória

Na linha de processadores AMD uma mudança dramática é a inclusão de um


controlador de memória integrado, assim como temos nos processadores AMD. O controlador
de memória integrado reduz substancialmente o tempo de latência da memória, resultando em
um ganho de desempenho considerável. Um dos grandes motivos do Athlon X2 ter se mantido
competitivo em relação ao Core 2 Duo, apesar de possuir bem menos cache, era justamente
devido ao fato de utilizar o controlador dedicado, enquanto o Core 2 Duo dependia do trabalho
do chipset.

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

Com relação à memória, os processadores AMD64 são capazes de endereçar até 1


terabyte de memória física, o que corresponde a 40 bits de endereços. Os 64 bits completos não
são usados por questões relacionadas ao desempenho, já que não existem módulos e placas que
permitam utilizar tanta memória atualmente.

Apesar de o AMD64 reservar "apenas" 40 bits para o endereçamento da memória física,


estão disponíveis 48 bits de endereçamento para o espaço de endereçamento virtual, o que
permite endereçar até 256 terabytes. Esse limite não tem apenas a ver com o uso de memória
swap, mas indica o volume total de memória que o processador é capaz de endereçar, incluindo
não apenas a memória RAM, mas também a memória da placa de vídeo (e outros dispositivos)
e está relacionado também com o suporte a arquivos grandes, como bancos de dados. Você

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

O processador Athlon 64 bits da AMD possui o controlador de memória embutido no


próprio processador, e não no chipset. Nesse caso, a configuração da técnica DDR Dual
Channel depende do processador, e não da placa mãe.

2.2.Cache, tipos, capacidade e políticas de escrita.

Os processadores da linha Phenom possuem cache L3 compartilhada entre os núcleos


entre 4MB e 6MB. Possuem 512K de cache L2 por núcleo.

Os processadores da linha AMD como o Athlon têm caches exclusivos – os dados


podem estar no cache L1 ou L2, nunca em ambos. A vantagem de caches exclusivos é que são
capazes de armazenar mais dados.

Os processadores modernos da AMD utilizam a política de escrita Write-back.

3. CPU

3.1. Arquitetura do Processador 32, 64 bits

O processador AMD Athlon 64 baseia-se na tecnologia AMD64 (também conhecida


como x86-64), uma tecnologia que permite a execução de aplicativos de 32 bits sem
necessidade de qualquer tipo de emulação e sem perda de desempenho, além de oferecer suporte
a uma nova geração de aplicativos de 64 bits [AMD 2006, Wikipédia 2006b, Couto 2005].

Em relação à geração anterior (K7), a plataforma AMD64 inclui ainda [Couto 2005]:

 Uma nova tecnologia de fabricação: o SOI (silicon-on-insulator, “silício sobre


isolante”) que reduz o consumo elétrico e diminui o calor gerado. Com a
transição para o processo de 90nm, a partir da revisão E a AMD adicionou ao
SOI uma nova tecnologia de Strained Silicon (silício expandido) chamada
Dual Stress Liner desenvolvida em parceria com a IBM, que mantem o baixo
consumo elétrico e baixa emissão de calor, ao mesmo tempo em que permite
aumentar a frequência de clock.

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

Estão disponíveis dois modos de operação: Legado e 64-bit. No modo de operação


legado todos os registradores de uso geral estão disponíveis.

Os registradores de uso geral (GPRs) incluem:

 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.

3.3 Conjunto de Instruções - quantidade, formato (cod operação)

a. Instruções de uso geral (General-purpose Instructions) - As instruções de uso


geral são usadas na execução do software básico. A maioria destes carrega,
armazena, ou opera em dados nos registradores de uso geral (GPRS), na
memória, ou em ambos. Outras instruções são usadas para alterar o fluxo
sequencial do programa pela ramificação para outras localizações dentro do
mesmo programa ou em outros.
b. Instruções de sistema (System Instructions) – As instruções de sistema
estabelecem o modo de operação do processador, acesso aos recursos do

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

O pipeline do Atlhon 64 tem 12 etapas.

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:

I. Fetch 1 e Fetch 2: Nestes dois estágios 16 bytes (equivalente a


aproximadamente cinco instruções x86) são trazidos de uma vez da Cache L1
de instruções e colocado em um buffer no seu front end. A fase de Fetch foi
quebrada em duas fases em relação ao Atlhon. Isso foi feito para ajudar a
equilibrar a velocidade do clock com a latência de acesso à cache L1.
II. Pick: Estes 16 bytes são transferidos para um buffer de 32 bytes, unindo-se os
novos 16 bytes com 16 bytes já previamente buscados. O processador então
procura neste grupo de 32 bytes de instruções os limites entre cada instrução e
posteriormente alinha-as. Finalmente as instruções são classificadas em 1 ou 2
tipos - aquelas que podem ser decodificadas diretamente pelo decodificador, e
aquelas que precisam ser decodificadas pelo “microcode engine”(microcódigo)
- e então ser alinhadas e enviadas para a fase de decodificação. Todo este
processo e feito em apenas 1 ciclo de clock. Isso é possível pois o processador
“trapaceia” usando uma pré-decodificação que e adicionado quando a instrução
e buscada da L1.
III. Decode 1 e Decode 2: Existem 2 tipos de hardware de decodificação - a
decodificação direta feita pelo Fastpath decoder e a decodificação através do
microcode engine. Ambas traduzem instruções x86 em instruções internas no
formato RISC-like (semelhante a RISC), que e mais fácil para o processador de
execução administrar. O Fastpath decoder traduz cada instrução em no
máximo 2 UOPS. Isso é, este decodificador encarrega-se das instruções x86
mais simples. O Fastpath decoder pode traduzir até 3 instruções x86 de uma
vez em até 3 UOPS por ciclo. O microcode decoder encarrega-se das instruções
que são traduzidas em mais do que 2 UOPS. Ele pode trabalhar em apenas uma
instrução x86 de cada vez, e pode produzir até 3 UOPS por ciclo.
IV. Pack, Pack/Decode e Dispatch: Uma vez que os decodificadores produziram
um conjunto de Macroops, estas operações são agrupadas 3 de cada vez em
“grupos de despacho”. Uma vez as instruções agrupadas, algum processo final
de decodificação e feito e então cada grupo e enviado para o buffer de
reordenação. Por fim as Macroops são despachadas para a unidade de execução,
onde a sua execução é agendada.
10
V. AGU/ALU: Nessa etapa e feita a execução propriamente dita.
VI. Data Cache 1 e Data Cache 2: Nessa etapa os dados são gravados no cache
L1 de dados.

3.5 Barramentos

Os processadores atuais da AMD têm dois barramentos externos. Um é usado na


comunicação entre o processador e a memória, e é chamado simplesmente “barramento da
memória”. Já o outro é usado na comunicação entre o processador e os demais componentes do
micro, através do chipset da placa mãe, e é chamado HyperTransport – este é, portanto, o
barramento de entrada e saída.

Figura 5 - Esquema dos barramentos de memória e HyperTransport

Este barramento começou a ser usado com a arquitetura AMD64, em processadores


da AMD antigos que não são baseados nesta arquitetura como o Athlon original (TORRES), o
Athlon XP e os processadores Sempron soquete 462, o processador tem apenas um barramento
externo, também conhecido como FSB (Front Side Bus) ou barramento frontal. Nesta
implementação o barramento externo transporta tantos dados da comunicação com a memória
quanto da comunicação com os demais dispositivos do micro. Como há apenas um caminho de

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.

Além de permitir que os processadores AMD tenham barramentos separados para a


memória e para os demais dispositivos do micro (MORIMOTO), o HyperTransport tem ainda
outra vantagem: ele traz caminhos separados para operações de entrada e de saída do
processador, permitindo que o processador transmita (“escreva”) e receba (“leia”) dados ao
mesmo tempo, em paralelo. Na arquitetura tradicional com apenas um barramento externo,
como este é usado tanto para operações de entrada quanto para operações de saída, leituras e
escritas não podem ser efetuadas simultaneamente.

Figura 6 - Ilustração do barramento HyperTransport com os dois canais de comunicação (entrada e


saída).

3.6 Unidade de Aritmética e Lógica – UAL

Unidade lógica e aritmética (ULA) ou em inglês Arithmetic Logic Unit (ALU) é a


unidade central da CPU, que realmente executa as operações aritméticas e lógicas referenciadas
pelos opcodes. É, na verdade, uma "grande calculadora eletrônica" do tipo desenvolvido
durante a II Guerra Mundial, e sua tecnologia já estava disponível quando os primeiros
computadores modernos foram construídos. Nos processadores AMD encontra-se uma unidade
para cada núcleo físico.

4. Atualidades/curiosidades

Em 2011 a AMD alcançou o recorde de “Maior frequência de um processador de


computador” no Guinnes – Livro dos Recordes: 8,429 GHz. A companhia rodou um
processador 8-core FX-8150 com apenas um módulo ativo (2 núcleos) e refrigerado com hélio
líquido. O recorde anterior era de 8,308 GHz com um Celeron 352 da Intel (um núcleo).

12
5. Bibliografia

AMD – Advanced Micro Devices disponível em


https://en.wikipedia.org/wiki/Advanced_Micro_Devices acessado em 15/11/2015.

AMD - AMD64 Architecture Programmer’s Manual Volume 1: Application


Programming disponível em http://support.amd.com/TechDocs/24592.pdf acessado em
29/11/2015

AMD - AMD64 Architecture Programmer’s Manual Volume 3: General-Purpose and


System Instructions disponível em: http://support.amd.com/TechDocs/24594.pdf acessado em
29/11/2015

AMD – Phenom Technical Details disponível em www.amd.com/pt-


br/products/processors/desktop/phenom-ii acessado em 15/11/2015.

AMD Developer Guides Manual disponível em


http://developer.amd.com/resources/documentation-articles/developer-guides-manuals/
Acessado em 15/11/2015

https://en.wikipedia.org/wiki/Comparison_of_AMD_processors

LEAL, Murilo Pereira – Apostila 4 – Subsistemas de Memória disponível em


http://www.cin.ufpe.br/~can/Arquivos/4%20-%20MEMO%20ARQ.pdf acessado em
28/11/2015.

MORIMOTO, Carlos E. – Entendendo os processadores 64 bits –disponível em


http://www.hardware.com.br/dicas/processadores-bits.html acessado em 26/11/2015

MORIMOTO, Carlos E. – Hardware – O guia definitivo disponível em


http://www.hardware.com.br/livros/hardware/x86-amd64.html acessado em 29/11/2015

Processadores: Origem e Funcionamento disponível em:


http://gerds.utp.br/andre/hardware/ProcessadoresOrigemeFuncionamento.pdf Acessado em
20/11/2015

ROMANO, Gustavo - Arquitetura AMD Athlon 64 - 1Instituto de Informatica –


Universidade Federal do Rio Grande do Sul (UFRGS) -
http://www.cin.ufpe.br/~bifm/fatec/2012.2/arquitetura%20de%20computadores/Arquitetura%
20AMD%20Athlon%2064.pdf
13
ROMANO, Gustavo – Arquitetura AMD Athlon 64 - 1Instituto de Informática –
Universidade Federal do Rio Grande do Sul (UFRGS) disponível em
http://www.cin.ufpe.br/~bifm/fatec/2012.2/arquitetura%20de%20computadores/Arquitetura%
20AMD%20Athlon%2064.pdf acessado em 15/11/2015

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