Professional Documents
Culture Documents
htm
Velocidade
do clock
6.000
2 MHz
8 bits
0,64
1979
29.000
5 MHz
16 bits
8 bits
0,33
80286
1982
134.000
1,5
6 MHz
16 bits
80386
1985
275.000
1,5
16 MHz
32 bits
80486
1989
1.200.000
25 MHz
32 bits
20
Pentium
1993
3.100.000
0,8
60 MHz
32 bits
64 bits
100
Nome
Data Transistores
8080
1974
8088
Largura
MIPS
de dados
1997
7.500.000
0,35
233 MHz
32 bits
64 bits
300
9.500.000
0,25
450 MHz
32 bits
64 bits
510
Pentium 4
2000
42.000.000
0,18
1,5 GHz
32 bits
64 bits
1,700
Pentium 4
"Prescott"
2004 125.000.000
0,09
3,6 GHz
32 bits
64 bits
7,000
90nm
2,8 GHz
3,2 GHz
32 bits
2006 152.000.000
65nm
1,33
2,33 GHz
32 bits
26,000
45nm
3 GHz
64 bits
53,000
45nm
2,66 GHz
3,2 GHz
64 bits
76,000
Pentium II
Core2
Core i7
2008 731.000.000
A partir dessa tabela, voc pode perceber que existe uma relao entre a velocidade do
clock e o MIPS. A velocidade mxima do clock uma funo do processo de fabricao
e dos atrasos internos. Tambm existe uma relao entre o nmero de transistores e o
MIPS. Por exemplo, o 8088 tinha um clock de 5 MHz, mas tinha MIPS de 0,33 (cerca de
uma instruo para cada 15 ciclos do clock). Os processadores modernos executam
milhes instrues por ciclo. Essa melhoria est
diretamente relacionada ao nmero de transistores no
chip. Vamos falar sobre isso na prxima seo.
A lgica do microprocessador
Para entender o funcionamento de um microprocessador,
vamos entender a lgica utilizada para se criar um. Neste
processo, voc tambm vai aprender um pouco de
Vamos supor que os barramentos de endereos e de dados tenham 8 bits neste exemplo.
Os componentes deste microprocessador simples so:
os registradores A, B e C so simples latches simples formados de flip-flops
(para obter mais informaes, consulte a seo sobre "latches disparados por
borda", em Como funciona a lgica booleana;
o latch de endereos igual aos registradores A, B e C;
o contador do programa um latch com as habilidades extras de
incrementar de 1, quando solicitado e de ser zerado, quando solicitado;
a ALU pode ser um simples somador de 8 bits (para obter mais informaes,
consulte a seo sobre somadores em Como funciona a lgica booleana) ou
pode somar, subtrair, multiplicar e dividir valores de 8 bits. Vamos supor que ela
faa parte do segundo grupo;
oregistrador de teste um latch especial que armazena valores das
comparaes realizadas na ALU. A ALU pode comparar dois nmeros e
determinar se eles so iguais ou se um maior do que o outro. O registrador de
teste tambm pode armazenar um bit de carry (carry-out) do ltimo estgio do
somador. Ele armazena esses valores em flip-flops e o decodificador de
instrues pode usar os valores para tomar decises;
existem seis caixas no diagrama com a indicao "3-state". Estes so os
buffers tri-state. Um buffer tri-state pode deixar passar 1, 0 ou pode se
desconectar da sada (imagine uma chave que se desconecta totalmente da
linha de sada). Um buffer tri-state permite mltiplas sadas conectadas a um
fio, mas somente uma delas leva 1 ou 0 para a linha;
o registrador de instruo e o decodificador de instruo so responsveis pelo
controle de todos os outros componentes.
Voc no v neste diagrama, mas existem linhas de controle do decodificador de
instrues que:
mandam o registrador A colocar o seu valor atual no barramento de dados;
mandam o registrador B colocar o seu valor atual no barramento de dados;
mandam o registrador C armazenar o valor atual da sida da ALU;
mandam o registrador de contador de programa colocar o valor atual no
barramento de dados;
mandam o registrador de endereos travar o seu valor atual no barramento de
dados;
mandam o registrador de instruo colocar o seu valor atual no barramento de
dados;
mandam o contador de programa incrementar;
mandam o contador de programa resetar (ir para zero);
ativam qualquer um dos seis buffers tri-state (seis linhas separadas);
informam a ULA sobre qual operao ela deve executar;
mandam o registrador de teste armazenar os bits de teste da ULA;
ativam a linha RD;
ativam a linha WR.
Dentro do decodificador de instrues entram os bits do registrador de teste e do sinal
de clock line, alm dos bits do registrador de instrues.
A memria do microprocessador
Na pgina anterior falamos sobre endereamentos e barramentos de dados, assim como
as linhas RD e WR. Esses barramentos e linhas se conectam com as memrias RAM e
ROM. No nosso microprocessador de exemplo, ns temos um barramento de
endereos de 8 bits e um barramento de dados de 8 bits. Isso significa que o
microprocessador pode enderear (28) 256 bytes de memria e ler ou escrever 8 bits da
memria por vez. Vamos supor que este microprocessador simples tenha 128 bytes de
ROM que comea no endereo 0 e 128 bytes de RAM que comea no endereo 128.
Memria ROM
ROM significa memria apenas para leitura (read-only memory). Um chip ROM
programado com uma coleo permanente de bytes pr-definidos. O barramento de
endereamento diz ao chip ROM qual byte pegar e
colocar no barramento da dados. Quando a linha RD
muda o estado, o chip ROM apresenta o byte
selecionado ao barramento de dados.
RAM significa memria de acesso aleatrio (random
access memory). A memria RAM contm bytes de
informao e o microprocessador pode ler ou escrever
nestes bytes, dependendo da linha de comando utilizada:
RD ou WR. Um dos problemas dos chips RAM que eles
esquecem tudo uma vez que a energia desligada. por
isso que o computador precisa de ROM.
Memria RAM
As instrues do microprocessador
Mesmo o mais simples dos microprocessadores pode executar uma grande variedade de
instrues. As instrues so implementadas como padres binrios; cada uma delas
significa algo diferente quando so carregadas pelo registrador de instrues. Como
11
12
13
14
15
16
17
SAVEC 129
LOADA 128
CONB 1
ADD
SAVEC 128
JUMP 4
STOP
// a=a+1;
// volta para o if
Memria ROM
Agora vem a pergunta: "Como essas instrues vo ser exibidas na ROM?" Cada uma
dessas instrues de linguagem assembly tem de ser representadas por um nmero
binrio. Para simplificar as coisas, vamos supor que cada instruo de linguagem
assembly equivale a um nico nmero:
LOADA - 1
LOADB - 2
CONB - 3
SAVEB - 4
SAVEC mem - 5
ADD - 6
SUB - 7
MUL - 8
DIV - 9
COM - 10
JUMP addr - 11
JEQ addr - 12
JNEQ addr - 13
JG addr - 14
JGE addr - 15
JL addr - 16
JLE addr - 17
STOP - 18
Esses nmeros so conhecidos como opcodes (cdigos de operao). Na ROM, nosso
pequeno programa estaria assim:
// Suponha que a est no endereamento 128
// Suponha que f est no endereamento 129
Addr opcode/value
0
3
// CONB 1
1
1
2
4
// SAVEB 128
3
128
4
3
// CONB 1
5
1
6
4
// SAVEB 129
7
129
8
1
// LOADA 128
9
128
10
3
// CONB 5
11
5
12
10
// COM
13
14
// JG 17
14
31
15
1
// LOADA 129
16
129
17
2
// LOADB 128
18
128
19
8
// MUL
20
5
// SAVEC 129
21
22
23
24
25
26
27
28
29
30
31
129
1
128
3
1
6
5
128
11
8
18
// LOADA 128
// CONB 1
// ADD
// SAVEC 128
// JUMP 4
// STOP
forma, mais de uma instruo realizada durante cada ciclo de clock. Esta tcnica pode
ser de difcil implementao e requer muitos transstores.
Novas tendncias
A tendncia inicial em projeto de processadores era: ULA com 32 bits, processadores
rpidos de pontos flutuantes e execuo pipeline com mltiplos canais de execuo de
instruo. A novidade so os processadores de 64 bits, de com at quatro ncleos de
processamento e trs nveis de memria cache (L1, L2 e L3). Outra tendncia a
miniaturizao do processo de fabricaos dos processadores, obtida com a evoluo da
nanotecnologia. Hoje o processo est em 45 nm, mas em breve os chips sero fabricados
em 22nm. Quanto menor esse nmero, maior o nmero de transistoresexistentes em um
processador.
Processador de 64 bits
Uma das razes pela qual o mundo precisa de processadores de 64 bits o seu grande
espao de endereamentos. O limite mximo de acesso memria RAM em
processadores de 32 bits de 2 ou 4 GB. Parece ser bastante, j que a maioria dos
computadores domsticos usa de 512 MB a 1 GB de memria RAM. Entretanto, um limite
de 4 GB pode ser um grave problema para servidores e mquinas que gerenciam grandes
bancos de dados. Em breve, at os computadores caseiros vo precisar de mais memria
do que 2GB ou 4 GB. Um chip de 64 bits no tem restries pelo fato de um
endereamento de espao de memria RAM em 64 bits ser praticamente infinito para um
futuro prximo. 2 elevado a 64 bytes de RAM algo em torno de 1 bilho de gigabytes de
RAM.
Com um barramento de endereamento e um barramento de dados em alta velocidade
operando em placas-me de 64 bits, as mquinas tambm tero maior velocidade de
entrada/sada e isso vai acelerar os discos rgidos e as placas de vdeo. Estes recursos
vo aumentar drasticamente a performance dos computadores.
Os servidores certamente sero beneficiados com os 64 bits, mas e os usurios comuns?
As pessoas que trabalham com edio de vdeos e com grandes imagens sero
beneficiadas por este tipo de computador. Os jogos modernos tambm iro melhorar,
desde que sejam recodificados para tirar proveito dos recursos de 64 bits; mas o usurio
comum que l e-mails, navega na Internet e edita documentos de texto no precisa
realmente deste tipo de processador.
Para obter mais informaes sobre microprocessadores e assuntos relacionados, verifique
os links na prxima pgina.
http://informatica.hsw.uol.com.br/hardware-canal.htm