Você está na página 1de 19

Arquitectura de Computadores

Unidade de Processamento de um Processador (5.1 a 5.4, 8.4)


Jose Monteiro
Licenciatura em Engenharia Informatica e de Computadores
Departamento de Engenharia Informatica (DEI)
Instituto Superior Tecnico
6 de Abril, 2009
Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-06 1 / 17
Sumario da Aula
unidade de processamento de um processador
banco de registos
unidade logica e aritmetica - ULA
Arithmetic and Logic Unit - ALU
estrutura de uma ULA
unidade aritmetica
somador
subtractor
multiplicador
divisor
unidade logica
unidade de deslocamento
Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-06 2 / 17
Unidade de Processamento
Banco
de
registos
ULA
Palavra de
controlo
Bits de
estado
Operandos
Resultado
k
m
n
n n
Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-06 3 / 17
Banco de Registos
Banco de 8
registos
A
SelA
Escrita
SelB
SelD
D
B
n
3
3 3
n n
Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-06 4 / 17
Estrutura Interna da Unidade Logica e Aritmetica
Unidade
aritmtica
Unidade de
deslocamento
Palavra de
controlo
n n
n
n
Unidade
lgica
MUX
0 3
Sel
n
2 1
A
Resultado
B
n
p q
r
2
Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-06 5 / 17
Somador de 1 bit
Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-06 6 / 17
Somador de 1 bit
A
B
C
S
Semi-Somador
Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-06 6 / 17
Somador de 1 bit
A
B
C
S
Semi-Somador
A
B
C
C
S
i
i
i-1
i
i
Semi-somador Semi-somador
Somador Completo
Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-06 6 / 17
Somador em Cascata
A B
0 0
C
0
A B
1 1
A B
2 2
A B
3 3
S
0
S
1
S
2
S
3
C
out
C
1
C
2
C
3
Somador
completo
Somador
completo
Somador
completo
Somador
completo
C
in
S
A B
C
out
C
in
S
A B
C
out
C
in
S
A B
C
out
C
in
S
A B
C
out
C
in
Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-06 7 / 17
Somador de 1 bit
G
2
G
0
Y
i
00 B
i
01 B
i
10 1
11 0
G
1
G
0
C
in
00 0
01 1
10 C
11 C
n
n
B
G
Y
B B B
Y Y Y
n-1
n-1
1
1 0
0
G
0
2
...
...
G Cin
C
G
0
1
Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-06 8 / 17
Unidade Aritmetica
+
Cout Cin
SelB
G
C
Cout
R
B A
n n
n
n
Y
SelC
Cin
2
2
3
G
2
G
1
G
0
Y
i
C
in
Microoperacao
000 B
i
0 R A +B soma
001 B
i
1 R A B subtraccao
010 B
i
C R A +B +C soma com bit de transporte
011 B
i
C R A B C subtraccao com transporte negado
100 1 0 R A 1 decremento
101 0 1 R A + 1 incremento
110 1 C R A C decremento, se C = 0
111 0 C R A +C incremento, se C = 1
Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-06 9 / 17
Multiplicacao
A 1 1 0 1 Multiplicando
B 1 0 1 0 Multiplicador
0 0 0 0 Produto parcial
1 1 0 1 Produto parcial
0 0 0 0 Produto parcial
1 1 0 1 Produto parcial
M 1 0 0 0 0 0 1 0 Resultado
Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-06 10 / 17
Multiplicador
A
B
0
0
A
1
A
2
A
3
B
0
1
1 2 3
A A A A
+
B
0
2
1 2 3
A A A A
0
+
B
0
3
1 2 3
A A A A
+
M
0
M
1
M
2
M
3
M
4
M
5
M
6
M
7
0
S
1
S
2
S
3
S
out
C
0
S
1
S
2
S
3
S
out
C
0
S
1
S
2
S
3
S
out
C
Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-06 11 / 17
Divisao
Dividendo A Divisor B
1 0 0 1 0 0 1 1 0101
0 1 0 1 00011101
0 1 0 0 0 Resultado D
0 1 0 1
0 0 1 1 0
0 1 0 1
0 0 0 1 1 1
0 1 0 1
0 0 1 0 Resto R
Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-06 12 / 17
Unidade Logica
0
MUX
1
2
3
S S
0 1
A
B
i
i
R
i
H H
0 1
H
1
H
0
Microoperacao
00 R A complemento
01 R A B conjuncao
10 R A B disjuncao
11 R A B disjuncao exclusiva
Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-06 13 / 17
Operacoes de Deslocamento
Deslocamento simples:
SHL SHR
C 0 C 0
Deslocamento aritmetico:
SHLA SHRA
C 0
C
Rotacao:
ROL ROR
C C
Rotacao com transporte:
ROLC RORC
C C
Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-06 14 / 17
Unidade de Deslocamento
J
2
J
1
J
0
Microoperacao
000 R shr A deslocamento logico `a direita
001 R shl A deslocamento logico `a esquerda
010 R shra A deslocamento aritmetico `a direita
011 R shla A deslocamento aritmetico `a esquerda
100 R ror A rotacao `a direita
101 R rol A rotacao `a esquerda
110 R rorc A rotacao `a direita com transporte
111 R rolc A rotacao `a esquerda com transporte
Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-06 15 / 17
Unidade de Deslocamento
A
n-1
in
1 0 1 3
0
0 0 0 0
MUX
3 2
MUX
Sel
n
1
MUX
Sel
1
MUX
Sel
1
MUX
Sel
1
...
R
R
n-1
R
n-2
R
1
R
0
MUX
0
S
2
MUX
Sel
1
C
A
n-1
A
1
n
A
A
0
J
2
J
1
J
0
A
2
A
0
A
n-1
A
n-3
A
n-2
0 0
C
A
n-1
in
out
0
C
A
0
S
0
1
S
S
0
1
Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-06 16 / 17
Tabela de Micro-operacoes da ULA
S
4
S
3
S
2
S
1
S
0
Microoperacao
00000 R A + B soma
00001 R A B subtraccao
00010 R A + B + C soma com bit transporte
00011 R A B C subtraccao com transporte negado
00100 R A 1 decremento
00101 R A + 1 incremento
00110 R A C decremento, se C = 0
00111 R A + C incremento, se C = 1
01-00 R A complemento
01-01 R A B conjuncao
01-10 R A B disjuncao
01-11 R A B disjuncao exclusiva
10000 R shr A deslocamento logico `a direita
10001 R shl A deslocamento logico `a esquerda
10010 R shra A deslocamento aritmetico `a direita
10011 R shla A deslocamento aritmetico `a esquerda
10100 R ror A rotacao `a direita
10101 R rol A rotacao `a esquerda
10110 R rorc A rotacao `a direita com transporte
10111 R rolc A rotacao `a esquerda com transporte
11- - - R A transferencia
Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-06 17 / 17

Você também pode gostar