|
MICROPROCESSADORES
Todos
os computadores pessoais, e um número crescente de equipamentos mais
poderosos, se baseiam num tipo especial de circuito eletrônico chamado
de microprocessador. Chamado também de “computador num chip”, o
microprocessador moderno é formado por uma camada de silício,
trabalhada de modo a formar um cristal de extrema pureza, laminada até
uma espessura mínima com grande precisão, e depois cuidadosamente
poluída pela exposição a altas temperaturas em fornos que contém
misturas gasosas de impurezas.
Histórico
1971 - 4004 - Primeiro microprocessador de
uso geral, fabricado pela Intel Corporation 4 BITs 1972 8008 -
Atualização do 4004 com mais BITs por registrador, fabricado pela
Intel Corporation 8BITs
1974 - 8080 - Possuía um set de comandos
mais rico, fabricado pela Intel Corporation 8 BITs Z80
- 8080 aperfeiçoado, fabricado pela Zilog Corporation - 8
BITs.
1978 - 8086 - Duplicava mais uma vez a
quantidade de registradores e aumentava as linhas de endereços - 16
BITs
- 8088 - Idêntico ao 8086 exceto o BUS que foi reduzido para
- 8BITs.
1984 - 80286 - Projeto para funcionar mais
rapidamente, inicialmente 6 Mhz - 16 BITs
1985 - 80386 - Ele oferece mais velocidade,
mais capacidade e mais versatilidade do que todos os
microprocessadores fabricados até então - 32 BITs
1991 - 80486 - Com menos ciclos de máquinas
consegue executar mesma instrução que as versões anteriores. - 32
BITs
1993 - PENTIUM - Maior velocidade e
conceito de instruções aperfeiçoadas - 32 BITs
Co-processadores
Os
Co-processadores são na realidade microprocessadores de utilização e
função específica, como por exemplo: cálculos matemáticos complexos,
formação de imagens de alta resolução, etc.
O
microprocessador executa as atribuições operacionais e dedica ao
co-processador as tarefas mais pesadas, distribuindo as funções o
desempenho global aumenta muitas vezes, possibilitando a operação com
softwares mais complexos com maior rapidez.
Os
Co-processadores mais comuns são os numéricos, eles fazem com que as
operações de multiplicação e divisão se tornem cerca de 80% mais
rápidas, as operações de soma e subtração não são afetas por serem
eficientemente executadas pelo microprocessador central.
Outra
característica como a independência da velocidade do clock aumenta o
desempenho global sem influenciar o funcionamento isolado do
microprocessador.
Tipos de co-processadores numéricos
A
família Intel conta com quatro co-processadores numéricos principais:
o 8087, o 80287, o 80387 e o 80287SX. Cada um deles foi projetado para
operar em conjunto com um determinado microprocessador da família
Intel 8086.
Como os Processadores Funcion
Apesar de cada microprocessador ter seu próprio desenho interno,
todos os microprocessadores compartilham do mesmo conceito básico – o
qual explicaremos neste tutorial. Daremos uma olhada dentro da
arquitetura de um processador genérico, para que assim você seja capaz
de entender um pouco mais sobre os produtos da Intel e da AMD, bem
como as diferenças entre eles.
O processador – que também é chamado de microprocessador, CPU
(Central Processing Unit) ou UCP (Unidade Central de Processamento) –
é o encarregado de processar informações. Como ele vai processar as
informações vai depender do programa. O programa pode ser uma
planilha, um processador de textos ou um jogo: para o processador isso
não faz a menor diferença, já que ele não entende o que o programa
está realmente fazendo. Ele apenas obedece às ordens (chamadas
comandos ou instruções) contidas no programa. Essas ordens podem ser
para somar dois números ou para enviar uma informação para a placa de
vídeo, por exemplo.
Quando você clica duas vezes em um ícone para rodar um programa,
veja o que acontece:
1. O programa, que está armazenado no disco rígido, é transferido
para a memória. Um programa é uma série de instruções para o
processador.
2. O processador, usando um circuito chamado controlador de memória,
carrega as informações do programa da memória RAM.
3. As informações, agora dentro do processador, são processadas.
4. O que acontece a seguir vai depender do programa. O processador
pode continuar a carregar e executar o programa ou pode fazer alguma
coisa com a informação processada, como mostrar algo na tela.

Figura 1: Como a informação armazenada é
transferida para o processador.
No passado, o processador controlava a transferência de informações
entre o disco rígido e a memória RAM. Como o disco rígido é mais lento
que a memória RAM, isso deixava o sistema lento, já que o processador
ficava ocupado até que todas as informações fossem transferidas do
disco rígido para a memória RAM. Esse método é chamado PIO (Programmed
Input/Output - Entrada/Saída Programada). Hoje em dia a transferência
de informações entre o disco rígido e a memória RAM é feita sem o uso
do processador, tornando, assim, o sistema mais rápido. Esse método é
chamado bus mastering ou DMA (Direct Memory Access - Acesso Direto à
Memória). Para simplificar nosso desenho, não colocamos o chip da
ponte norte entre o disco rígido e a memória RAM na Figura 1, mas ele
está lá. Caso deseje saber mais sobre esse assunto,
nós já escrevemos um tutorial sobre isso.
Processadores da AMD baseados nos soquetes 754, 939 e 940 (Athlon
64, Athlon 64 X2, Athlon 64 FX, Opteron e alguns modelos de Sempron)
possuem controlador de memória embutido. Isso significa que para esses
processadores a CPU acessa a memória RAM diretamente, sem usar o chip
da ponte norte mostrado na Figura 1.
Clock
Afinal, o que vem a ser clock? Clock é um sinal usado para
sincronizar coisas dentro do computador. Onde mostramos um típico sinal de clock: é uma onda quadrada passando
de “0” a “1” a uma taxa fixa. Nessa figura você pode ver três ciclos
de clock (“pulsos”) completos. O início de cada ciclo é quando o sinal
de clock passa de “0” a “1”; nós marcamos isso com uma seta. O sinal
de clock é medido em uma unidade chamada Hertz (Hz), que é o número de
ciclos de clock por segundo. Um clock de 100 MHz significa que em um
segundo existem 100 milhões de ciclos de clock.
Figura 2: Sinal de clock.
No computador, todas as medidas de tempo são feitas em termos de
ciclos de clock. Por exemplo, uma memória RAM com latência “5”
significa que vai levar cinco ciclos de clock completos para começar a
transferência de dados. Dentro da CPU, todas as instruções precisam de
um certo número de ciclos de clock para serem executadas. Por exemplo,
uma determinada instrução pode levar sete ciclos de clock para ser
completamente executada.
No que diz respeito ao processador, o interessante é que ele sabe
quantos ciclos de clock cada instrução vai demorar, porque ele tem uma
tabela que lista essas informações. Então se há duas instruções para
serem executadas e ele sabe que a primeira vai levar sete ciclos de
clock para ser executada, ele vai automaticamente começar a execução
da próxima instrução no 8o pulso de clock. É claro que esta é uma
explicação genérica para um processador com apenas uma unidade de
execução – processadores modernos possuem várias unidades de execução
trabalhando em paralelo e podem executar a segunda instrução ao mesmo
tempo em que a primeira, em paralelo. A isso chamamos arquitetura
superescalar e falaremos mais a esse respeito mais tarde.
Então o que o clock tem a ver com desempenho? Pensar que clock e
desempenho são a mesma coisa é o erro mais comum acerca de
processadores.
Se você comparar dois processadores completamente idênticos, o que
estiver rodando a uma taxa de clock mais alta será o mais rápido.
Neste caso, com uma taxa de clock mais alta, o tempo entre cada ciclo
de clock será menor, então as tarefas serão desempenhadas em menos
tempo e o desempenho será mais alto. Mas quando você compara dois
processadores diferentes, isso não é necessariamente verdadeiro.
Se você pegar dois processadores com diferentes arquiteturas – por
exemplo, de dois fabricantes diferentes, como Intel e AMD – o interior
deles será completamente diferente.
Como dissemos, cada instrução demora um certo número de ciclos de
clock para ser executada. Digamos que o processador “A” demore sete
ciclos de clock para executar uma determinada instrução, e que o
processador “B” leve cinco ciclos de clock para executar essa mesma
instrução. Se eles estiverem rodando com a mesma taxa de clock, o
processador “B” será mais rápido, porque pode processar essa instrução
em menos tempo.
E há ainda muito mais no jogo do desempenho em processadores
modernos, pois processadores têm quantidades diferentes de unidades de
execução, tamanhos de cache diferentes, formas diferentes de
transferência de dados dentro do processador, formas diferentes de
processar instruções dentro das unidades de execução, diferentes taxas
de clock com o mundo exterior, etc. Não se preocupe, pois nós
falaremos sobre tudo isso neste tutorial.
Como o sinal de clock do processador ficou muito alto, surgiu um
problema. A placa-mãe onde o processador é instalado não podia
funcionar usando o mesmo sinal de clock.Se você olhar para uma
placa-mãe, verá várias trilhas ou caminhos. Essas trilhas são fios que
conectam vários circuitos do computador. O problema é que, com taxas
de clock mais altas, esses fios começaram a funcionar como antenas,
por isso o sinal, em vez de chegar à outra extremidade do fio,
simplesmente desaparecia, sendo transmitido como onda de rádio. |