Anda di halaman 1dari 19

Principais Componentes

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

Linha RD (read) e Linha


WR (write) diz
memria qundo quer
escrever ou ler
determinado endereo de
memria

Uma linha de Clock


relgio que controla o
processador.

Uma linha Reset coloca


a zero o contador do
programa e recomea a
execuo

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.

ROM Read Only Memory armazena o conjunto de instrues e


microcdigo que ser executado pelo processador.
O barramento de endereos diz ROM que bytes deve colocar
no barramento de dados e isso feito quando a linha RD muda
de estado.
RAM Random Access Memory, contm bytes de informao e o
processador pode ler ou escrever, dependendo do estado lgico
das linhas RD e WR.

Como funciona o microprocessador


O CPU recebe continuamente instrues para serem executadas.
Cada instruo uma ordem de processamento de dados e o trabalho
do CPU consiste principalmente em clculos e transporte de dados.
Dados serem
processados

CPU

Dados
Processados

O CPU recebe pelo menos dois tipos de dados:

Instrues cerca do que fazer com outros dados.


Dados que sero processados de acordo com instrues.

As instrues

Cdigo de programao, que inclui mensagens enviadas ao computador, ordens de


impresso, entre outras.

Dados

Dados do utilizador, por exemplo, informaes de uma base de dados, folha de


clculo, imagem, etc.

Como funciona o microprocessador


A maior carga de trabalho do CPU consiste
na descodificao de instrues e
localizao de dados.
A descodificao a percepo de
instrues que o utilizador envia para o CPU.
Todos os PC so compatveis com o 8086, ou
seja, os programas comunicam com o CPU
atravs da mesma famlia especfica de
instrues
Os CPU mais recentes tm de entender as
mesmas instrues.
Esta compatibilidade consiste num
standard da indstria.
Todos os processadores novos tm de ser
capazes de perceber e manipular o formato
de instrues de 8088

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 Lgica e Aritmtica:


Executa as principais operaes
matemticas .

Unidade de Controlo: contm


o microcdigo que indica
Unidade Aritmtica e Lgica
como funcionar.

Unidade de descodificao:
traduz e descodifica as
instrues em linguagem
mquina e coloca-as numa fila
at serem requisitadas pela
unidade de controlo.

Unidade de prefetch: coloca


as instrues numa fila
assegurando que o
microprocessador funciona de
modo contnuo.

Unidade de Barramentos: faz


a gesto do fluxo de informao
entre o microprocessador e os
locais de armazenamento (disco
rgido, RAM, etc.) e perifricos
(impressora, monitor, etc.)

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

Execuo de uma instruo simples


Execuo de uma operao simples, do tipo 2+2

2=X
a,a
b,b
c,c
d,d

Cache de Instrues

Input
Outpu
t

2+2
=

Passo
1

1 Quando se prime a tecla


2, enviado um sinal ao
processador e pede-se
unidade de prefetch para
pesquisar na memria
principal do computador
uma instruo especfica
sobre os novos dados,
dado que no h nada
acerca disso na cache de
instrues.

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

2As instrues chegam ao


microprocessador atravs da
unidade de barramentos,
vindas da memria principal
e so armazenadas na cache
de instrues como 2=X.

2=
2=
X
X

Unidade Lgica e
Aritmtica

Unidade
Unidade de
de Prefetch
Prefetch

Execuo de uma instruo simples


Execuo de uma operao simples, do tipo 2+2

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

Execuo de uma instruo simples


Execuo de uma operao simples, do tipo 2+2

2=X
2=Y
a,a
b,b
c,c
d,d

Cache de Instrues

Input
Outpu
t

2+2
=

Passo
3

Agora a unidade de controlo


5executa a instruo para 2=X.
Isso faz com que o nmero 2
seja enviado para o endereo X
na cache de dados, onde
aguarda por outras instrues.
Quando se prime a tecla 2,
6novamente a unidade de
prefetch pergunta memria
principal do computador e
cache de instrues quais as
instrues especficas para
esses novos dados. Como no
encontra nenhuma informao
na cahe de instrues, as ordens
vm da memria principal.
Como aconteceu com o 2=X,
7os novos dados vm da
memria principal e so
armazenados na cache de
instrues como 2=Y

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

A unidade de prefetch vai


8cache de instrues buscar uma
cpia do cdigo 2=Y e envia-a
para a unidade de descodificao
onde ser processada.

2=
2=
YY

Unidade Lgica e
Aritmtica

Unidade
Unidade de
de Prefetch
Prefetch

Execuo de uma instruo simples


Execuo de uma operao simples, do tipo 2+2

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.

Execuo de uma instruo simples


Execuo de uma operao simples, do tipo 2+2
101101
0

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

Quando premimos a tecla


11
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

Dado que uma instruo


12

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

nova, + vem para o


microprocessador, da
memria principal, e
armazenado num endereo
da cache de instrues
como X+Y=Z, indicando
indicando que os dois
valores vo ser adicionados
um ao outro.

Execuo de uma instruo simples


Execuo de uma operao simples, do tipo 2+2
101101
0

Cache de dados
0
0V
2W
2X
Y

Unidade
Unidade de
de
Barrament
Barrament
os
os

Registos

cache de instrues uma


cpia do cdigo X+Y=Z e
envia-a para a unidade de
controlo para posterior
processamento.
X+Y
X+Y
=Z
=Z

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

Execuo de uma instruo simples


Execuo de uma operao simples, do tipo 2+2

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

Execuo de uma instruo simples


Execuo de uma operao simples, do tipo 2+2

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.

Execuo de uma instruo simples


Execuo de uma operao simples, do tipo 2+2

Cache de dados
0
0V
2W
2X
Y

Quando de prime a tecla


16
Unidade
Unidade de
de Prefetch
Prefetch

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

vem da memria principal


para o microprocessador
atravs da unidade de
barramentos e fic
armazenada num
endereo na cahe de
instrues como cdigo
PRINT Z.

Execuo de uma instruo simples


Execuo de uma operao simples, do tipo 2+2

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

Execuo de uma instruo simples


Execuo de uma operao simples, do tipo 2+2

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.