Escolar Documentos
Profissional Documentos
Cultura Documentos
de um Microprocessador
O Microprocessador
O microprocessador executa toda uma srie de
instrues que lhe dizem o que deve fazer.
Baseado nas instrues que lhe so dadas, o
micro processador executa 3 coisas bsicas
atravs da sua ALU (Unidade Aritmtica e Lgica):
Executa as principais operaes matemticas. Os
microprocessadores mais recentes, no entanto tm um
coprocessador aritmtico, cuja funo auxiliar na
execuo de operaes complexas.
Move os dados de uma localizao para outra.
Pode tomar decises e saltar para um conjunto de
instrues baseadas nessas decises.
Exemplo de um microprocessador
simples
3-State
Register
C
Clock
Reset
ALU
Barramento de endereos
envia endereos para a
memria
Barramento de dados
recebe e envia dados de
e para a memria
Instrution
decoder
Test
3-State
Read
Register
A
Register
B
Write
Instrution
Register
Program
Couter
Adrress
Latch
3-State
3-State
Address bus
3-State
3-State
Data out
Data in
Data bus
Exemplo de um microprocessador
simples
Os barramentos de dados e endereos e linhas de RD e WR
ligam memria (RAM ou ROM).
Para o exemplo de um processador com:
barramento de endereos e de dados com 8 bits
significa que pode enderear 256 bytes de memria (2 8=256).
Pode ler ou escrever 8 bits de memria simultaneamente.
CPU
Dados
Processados
As instrues
Dados
Instrues de
processamento
de dados
CPU
Dados a
processar
Dados
Processados
Instru
es
Traduo
Instrues
Internas
Dados do
utilizador
Cache de dados
Unidade
Unidade de
de
Descodifica
Descodifica
o
o
Registos
Unidade de
Controlo
Unidade
Unidade de
de
Barrament
Barrament
os
os
Unidade Lgica e
Aritmtica
Unidade de descodificao:
traduz e descodifica as
instrues em linguagem
mquina e coloca-as numa fila
at serem requisitadas pela
unidade de controlo.
Cache de Instrues
Input
Outpu
t
Unidade
Unidade de
de Prefetch
Prefetch
Como funciona o
microprocessador
2+2
=
Cache de dados
0
0V
0W
0X
Y
Unidade
Unidade de
de
Descodifica
Descodifica
o
o
Registos
Unidade de
Controlo
Unidade
Unidade de
de
Barrament
Barrament
os
os
Unidade Lgica e
Aritmtica
Unidade
Unidade de
de Prefetch
Prefetch
2=X
a,a
b,b
c,c
d,d
Cache de Instrues
Input
Outpu
t
2+2
=
Passo
1
Unidade de
Controlo
Cache de dados
0
0V
2W
0X
Y
Unidade
Unidade de
de
Barrament
Barrament
os
os
Registos
Unidade
Unidade de
de
Descodifica
Descodifica
o
o
2=
2=
X
X
101101
0
2=
2=
X
X
Unidade Lgica e
Aritmtica
Unidade
Unidade de
de Prefetch
Prefetch
2=X
a,a
b,b
c,c
d,d
Cache de Instrues
Input
Outpu
t
2+2
=
Passo
2
3 A unidade de prefetch
solicita cache de
instrues uma cpia do
cdigo 2=X e envia-o
unidade de descodificao
para processamento
Seguidamente, na unidade
4 de descodificao 2=X, o
cdigo descodificado numa
string de cdigo binrio, que
enviada para a unidade de
controlo e para a cache de
dados
Cache de dados
0
0V
2W
0X
Y
Unidade
Unidade de
de
Descodifica
Descodifica
o
o
Registos
Unidade de
Controlo
Unidade
Unidade de
de
Barrament
Barrament
os
os
Unidade Lgica e
Aritmtica
Unidade
Unidade de
de Prefetch
Prefetch
2=X
2=Y
a,a
b,b
c,c
d,d
Cache de Instrues
Input
Outpu
t
2+2
=
Passo
3
Unidade de
Controlo
Cache de dados
0
0V
2W
2X
Y
Unidade
Unidade de
de
Barrament
Barrament
os
os
Registos
Unidade
Unidade de
de
Descodifica
Descodifica
o
o
2=
2=
YY
101101
0
2=
2=
YY
Unidade Lgica e
Aritmtica
Unidade
Unidade de
de Prefetch
Prefetch
2=X
2=Y
a,a
b,b
c,c
d,d
Cache de Instrues
Input
Outpu
t
2+2
=
Passo
4
Na unidade de descodificao, a
9instruo 2=Y descodificada e
transformada numa string de
cdigo binrio, que ser enviada
para a unidade de controlo e para
a cache de dados e indicar o
que fazer com a instruo.
Dado que a unidade de controlo
que o nmero 2 ser
10sabe
armazenado para uso futuro na
cache de dados, executa a
instruo para 2=Y. Isto faz
com que o nmero 2 seja enviado
para um endereo na cache de
dados, chamado Y, onde aguarda,
como o outro 2, por futuras
ordens.
Cache de dados
0
0V
2W
2X
Y
Unidade
Unidade de
de
Barrament
Barrament
os
os
Registos
X+Y
X+Y
=Z
=Z
X+Y
=Z
Unidade de
Controlo
Unidade
Unidade de
de
Descodifica
Descodifica
o
o
X+Y
X+Y
=Z
=Z
Unidade Lgica e
Aritmtica
2=X
2=Y
a,a
X+Y=Z
b,b
c,c
d,d
Cache de Instrues
Input
Outpu
t
2+2
=
+, a unidade de prefetch
pergunta memria
principal do computador e
cache de instrues o que
h-de fazer com os novos
dados recebidos, que
devem ser pescados da
memria principal.
Passo
5
Cache de dados
0
0V
2W
2X
Y
Unidade
Unidade de
de
Barrament
Barrament
os
os
Registos
X+Y
=Z
Unidade
Unidade de
de Prefetch
Prefetch
Unidade de
Controlo
Unidade
Unidade de
de
Descodifica
Descodifica
o
o
X+Y
X+Y
=Z
=Z
Unidade Lgica e
Aritmtica
13
A unidade de prefetch pede
2=X
2=Y
a,a
X+Y=Z
b,b
c,c
d,d
Cache de Instrues
Input
Outpu
t
2+2
=
Passo
5
Na unidade de
14
descodificao, X+Y=Z
traduzido e descodificado
para uma string binria,
sendo de seguida enviada
para a unidade de controlo e
para a cahe de dados, dando
a indicao do que ho-de
fazer com a instruo.
Tambm a unidade Lgica e
Aritmtica informada que
uma operao ADD vai ser
executada.
Unidade de
Controlo
X+Y
=Z
101101
0
Cache de dados
0
0V
2W
2X
Y
Unidade
Unidade de
de
Barrament
Barrament
os
os
Registos
Unidade
Unidade de
de
Descodifica
Descodifica
o
o
Unidade Lgica e
Aritmtica
Unidade
Unidade de
de Prefetch
Prefetch
2=X
2=Y
a,a
X+Y=Z
b,b
c,c
d,d
Cache de Instrues
Input
Outpu
t
2+2
=
Passo
6
A unidade de controlo
15
envia um comando
ADD para a unidade
aritmtica e lgica,
onde X e Y so
adicionados, aps
serem chamados da
cache de dados. Aps
realizar a operao, a
unidade aritmtica e
lgica envia o
resultado para ser
armazenado num dos
endereos dos
registos.
Unidade de
Controlo
X+Y
=Z
101101
0
Cache de dados
0
0V
2W
2X
Y
Unidade
Unidade de
de
Barrament
Barrament
os
os
Registos
Unidade
Unidade de
de
Descodifica
Descodifica
o
o
Unidade Lgica e
Aritmtica
Unidade
Unidade de
de Prefetch
Prefetch
2=X
2=Y
a,a
X+Y=Z
b,b
c,c
d,d
Cache de Instrues
Input
Outpu
t
2+2
=
Passo
6
A unidade de controlo
15
envia um comando
ADD para a unidade
aritmtica e lgica,
onde X e Y so
adicionados, aps
serem chamados da
cache de dados. Aps
realizar a operao, a
unidade aritmtica e
lgica envia o
resultado para ser
armazenado num dos
endereos dos
registos.
Cache de dados
0
0V
2W
2X
Y
Unidade
Unidade de
de
Descodifica
Descodifica
o
o
Registos
Unidade de
Controlo
Unidade
Unidade de
de
Barrament
Barrament
os
os
Unidade Lgica e
Aritmtica
A instruo sobre =
17
2=X
2=Y
a,a
X+Y=Z
b,b
PRINT
Z
c,c
d,d
Cache de Instrues
Input
Outpu
t
2+2
=
=, novamente a
unidade de prefetch
verifica a cache de
instrues para solicitar
instrues sobre os novos
dados, mas no vai
encontrar nada.
Passo
7
Cache de dados
0
0V
2W
2X
Y
Unidade
Unidade de
de
Barrament
Barrament
os
os
Registos
Unidade
Unidade de
de
Descodifica
Descodifica
o
o
PRINT
PRINT
Z
Z
101101
0
A unidade de prefetch
18
PRINT
PRINT
Z
Z
Unidade de
Controlo
Unidade
Unidade de
de Prefetch
Prefetch
Unidade Lgica e
Aritmtica
19
Na unidade de
2=X
2=Y
a,a
X+Y=Z
b,b
PRINT
Z
c,c
d,d
Cache de Instrues
Input
Outpu
t
2+2
=
pede cache de
instrues uma cpia do
cdigo PRINT Z e
envia-a para a unidade
de descodificao para
posterior
processamento.
Passo
8
descodificao, PRINT
Z, traduzido e
descodificado numa
string de cdigo binrio,
que enviada unidade
de controlo para lhe
dizer o que fazer com a
instruo.
Unidade Lgica e
Aritmtica
Unidade de
Controlo
Cache de dados
0
0V
2W
2X
Y
Unidade
Unidade de
de
Barrament
Barrament
os
os
Registos
Unidade
Unidade de
de
Descodifica
Descodifica
o
o
2+2=
4
Unidade
Unidade de
de Prefetch
Prefetch
2=X
2=Y
a,a
X+Y=Z
b,b
PRINT
Z
c,c
d,d
Cache de Instrues
Input
Outpu
t
2+2
=
Passo
9
20
Agora que o valor
de Z foi calculado
e est armazenado
nos registos, o
comando print s
tem de ir buscar o
contedo do registo
e apresent-lo no
ecr do computador.
Referncias
Gouveia, J., Magalhes, A., 2007, Curso Tcnico
de Hardware, FCA Editora de Informtica, Lda.