Guia do Hardware.Net
Impresso em: 22/3/2003, 17:48:32
Impresso de: http://www.guiadohardware.net/analises/athlon/arquitetura.asp

Análises :. Athlon em Detalhes

+ HOME
   :. Análises
   :. Artigos
   :. Cursos Online
       :. Hardware
       :. Redes
       :. Linux (foca)
       :. Gravação CDs
       :. Notebooks
       :. Setup
   :. Livros
      
:. Entendendo e
    Dominando o Linux
   :. Arquivo DDD
   :. Dicionário
   :. FAQ
   :. Notícias
   :. Dicas Linux
   :. Overclock
   :. Tutoriais

+ Publicações
   :. CD GDH
   :. CDs Mandrake
   :. CDs do Linux
   :. E-Books

+ Kurumin Linux
   :. Manual
    :. Forum
   :. Download

+ Outros
   :. Fórum
   :. Humor
   :. Palm
   :. Quiz

+ Pesquisar no site:

+ Expediente

+ Comente esta
   Matéria


Dúvidas sobre
Linux?
Baixe o E-book
Entendendo e Dominando o Linux
de Carlos E. Morimoto
ou increva-se no
Curso de Linux
em SP


Invista em
conhecimento:
:.CD-ROM Guia do Hardware: Todos os e-books e uma cópia off-line de todo o site por R$ 21,00
:.Linux Mandrake 9.0 GDH, com manual em Português e aplicativos. 4 CDs por R$ 24,00
:. E-Books de Carlos E. Morimoto:
- Entendendo e Dominando o Linux 6ed.
- Manual de Hardware Completo 3ed.
- Redes 3ed
- Upgrade e Manutenção
- Novas tecnologias 3ed.
- Dicionário Técnico de Informática
Todos os e-books por R$ 8,00

:. CDs do Linux:
Debian 3.0 R$ 35,00
Knoppix 3.2 R$ 8,00
Slackware 9.0 R$ 8,00
Red Hat 8 R$ 16,00
DemoLinux R$ 8,00
Peanut R$ 8,00
FreeBSD R$ 20,00
NetBSD R$ 16,00
Libranet R$ 8,00
Definity R$ 8,00
E outras distribuições

 

Dicas do dia : Receba as atualizações do Guia do Hardware todos os dias, direto no seu e-mail. Clique aqui para se inscrever.
 

Data: 28.06.2000
Tipo: Processadores
Fabricante: AMD
Por: Carlos E. Morimoto

 

 O AMD Athlon em Detalhes

Arquitetura

A idéia fundamental da AMD ao desenvolver o Athlon parece ter sido "mais". O Athlon tem mais estágios de Pipeline, mais unidades de FPU, mais unidades de execução, mais registradores, o que naturalmente resulta em mais desempenho. Na ilustração ao lado, temos uma foto que mostra como o Athlon é fisicamente. Esta foto foi cedida pela própria AMD e é bem interessante, pois ajuda a entender como os dados trafegam dentro do processador. Veja que a foto está dividida em pequenos retângulos, cada um mostrando a área ocupada por cada componente do processador. Infelizmente tudo está em inglês, mas aqui vai uma breve legenda dos componentes mais importantes (na ordem em que cada componente aparece na ilustração, começando de cima:):

Floating Point Execution Units: Unidades de execução de ponto flutuante. Nada mais é do que a parte fundamental do coprocessador aritmético, onde são processados os cálculos de ponto flutuante.

Floating Point Control: Controla a ordem em que as instruções serão executadas pelo coprocessador

Floating Point Scheduler: Armazena as próximas instruções que serão processadas pelo coproces-sador.

64 Kbyte Data Cache: Os 128 KB de cache L1 do Athlon são divididos em dois blocos, 64 KB para dados e 64 KB para instruções. Este é o bloco que armazena os dados.

Integer Execution Unit: Unidades de execução de inteiros. Este é o principal componente do processador. É aqui que são processadas as operações envolvendo inteiros.

Instruction Control Unit: Circuito que controla o envio de instruções para as unidades de execução. Também ordena as instruções de forma que possam ser processadas mais rápido.

Bus Interface Units: É por aqui que os dados entram e saem do processador. Controla a comunicação do processador com o chipset e com os demais componentes do micro.

64 Kbyte Instruction Cache: É o segundo bloco do cache L1, o bloco que armazena instruções.

Branch Prediction: Lembra-se do recurso de execução especulativa, usado apartir do Pentium, onde são processadas instruções aleatórias nos ciclos ociosos do processador, ajudando a aumentar o desempenho? Este é o circuito que controla a execução destas instruções.

Predecode Array: Esta é a porta de entrada do processador. Estes circuitos convertem as instruções x86 enviadas pelos programas nas instruções simples que o processador executa internamente.

Para entender o que faz o Athlon ser mais rápido do que os processadores anteriores da AMD, nada melhor que fazer um tour pela maneira como ele processa instruções. Vamos lá:

Até certo ponto, tanto o Pentium III quanto o Athlon e outros processadores x86 atuais trabalham da mesma maneira. Internamente, o processador é capaz de executar apenas instruções simples, como somas, leituras ou escritas de dados, comparações, etc. Basicamente é só isso que o processador sabe fazer. Operações mais complexas, são conseguidas utilizando-se várias instruções simples. Para calcular uma multiplicação, por exemplo, o processador utilizará sequencialmente várias operações de soma. Na verdade, dentro do processador todas as operações, mesmo as mais complexas, são calculadas com base em várias operações de soma, feitas entre os valores binários processados pelo processador. Uma operação de subtração é conseguida executando-se uma soma com um valor negativo, enquanto uma operação de divisão é conseguida executando-se uma sequência de operações de subtração. Todas os demais cálculos, mesmo os cálculos mais complexos, executados pelo coprocessador aritmético, são resolvidos usando apenas as quatro operações, que por sua vez são obtidas apartir da simples instrução de soma.

Pois bem, o conjunto de instruções x86, utilizadas pelos programas e com as quais qualquer processador destinado a micros PC deve ser compatível, é composto tanto por instruções simples (soma, subtração, leitura, gravação, comparação, etc.) quanto por instruções muito complexas, que devem ser quebradas em várias instruções simples para que possam ser executadas pelo processador.

Excluindo-se componentes de apoio como o cache L1, deixando apenas a parte "funcional" do processador, podemos dividir o processador em três partes.

A primeira parte é o decodificador de instruções. Este componente tem a função de converter as instruções x86 usadas pelos programas nas instruções simples que podem ser executadas pelo processador. As instruções simples vão então para uma unidade de controle, que organiza as instruções da forma que possam ser executadas mais rapidamente. As instruções formam então uma fila, (scheduler) a fim de permitir que a unidade de controle tenha tempo de fazer ser trabalho. Lembre-se que os processadores atuais são superescalares, executam várias instruções por ciclo, simultaneamente, o que torna essencial a existência de algum circuito que as coloque numa ordem em que a execução de uma não dependa do resultado da execução de outra.

Finalmente, temos as unidades de execução, onde as instruções preparadas e organizadas são finalmente processadas. Veja que todos os circuitos trabalham simultaneamente, visando que as unidades de execução sempre tenham algo para processar.

É mais ou menos como num banco, onde aparecem várias pessoas com vários tipos de tarefas, contas para pagar, depósitos, querendo sacar dinheiro, tirar extratos, etc. Algumas pessoas querem fazer apenas uma operação (pagar apenas uma conta por exemplo), enquanto outras querem fazer várias operações (sacar dinheiro, pagar uma conta, depois depositar um cheque, etc.). Para evitar tumulto, é formada uma fila, onde cada um aguarda a sua vez e ir ao caixa e fazer o que deseja. No processador temos um cenário parecido, as unidades de execução são os caixas, onde tudo é realmente feito, enquanto os demais componentes tem a função de organizar a fila e fazer com que cada um se dirija ao caixa apropriado.

Poderíamos então dividir o processador em duas partes. A parte da frente, ou a entrada, composta por todos os circuitos que decodificam e ordenam as instruções dos programas; composta pelo decodificador de instruções, unidade de controle, e também pelos registradores e pelo cache. A parte de trás, ou os "fundos" do processador, seria então composta pelas unidades de execução, onde realmente são processadas as instruções. Cada uma das duas partes seriam então igualmente importantes. As unidades de execução deveriam ser capazes de processar o máximo de instruções possíveis, enquanto a parte da frente, composta pelos demais componentes, teria a função de preparar as instruções o mais rápido possível, de modo que as unidades de execução ficassem ocupadas todo o tempo.

A lógica é que quanto mais unidades de execução tivermos trabalhando ao mesmo tempo, mais instruções todas juntas serão capazes de processar, e quanto mais circuitos de decodificação e controle tivermos, mais eficiente será a decodificação das instruções, resultando em um processador mais rápido. Vamos à uma comparação direta entre as arquiteturas do Athlon e do Pentium III.

:. Decodificador de Instruções »


 

© 1999 - 2002 :. Todos os direitos reservados :. Guia do Hardware.Net
http://www.guiadohardware.net/