Unidade de Processamento de Um Processador (5.1 a 5.4, 8.4)
-
Upload
lucilio-carvalho -
Category
Documents
-
view
4 -
download
0
Transcript of Unidade de Processamento de Um Processador (5.1 a 5.4, 8.4)
Arquitectura de ComputadoresUnidade 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 registosunidade logica e aritmetica - ULAArithmetic and Logic Unit - ALU
estrutura de uma ULA
unidade aritmetica
somadorsubtractormultiplicadordivisor
unidade logica
unidade de deslocamento
Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-06 2 / 17
Unidade de Processamento
Bancode
registos
ULA
Palavra decontrolo
Bits deestado
Operandos
Resultado
k
m
n
n n
Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-06 3 / 17
Banco de Registos
Banco de 8registos
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
Unidadearitmética
Unidade dedeslocamento
Palavra decontrolo
n n
n
n
Unidadelógica
MUX0 3
Sel
n
21
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
CC
Si
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 B0 0
C0
A B1 1
A B2 2
A B3 3
S0 S1 S2 S3
CoutC
1C
2C
3
Somadorcompleto
Somadorcompleto
Somadorcompleto
Somadorcompleto
Cin
SA B
CoutCin
SA B
CoutC in
SA B
CoutC in
SA B
CoutC in
Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-06 7 / 17
Somador de 1 bit
G2G0 Yi
00 Bi
01 Bi
10 1
11 0
G1G0 Cin
00 0
01 1
10 C
11 C
n
n
B
G
Y
BBB
Y Y Yn-1
n-1
1
1 0
0
G0
2
...
...
GCin
C
G0
1
Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-06 8 / 17
Unidade Aritmetica
+Cout Cin
SelB G
CCout
R
BA
n n
n
n
Y
SelCCin
2
2
3
G2G1G0 Yi Cin Microoperacao
000 Bi 0 R ← A + B soma
001 Bi 1 R ← A− B subtraccao
010 Bi C R ← A + B + C soma com bit de transporte
011 Bi 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 MultiplicandoB × 1 0 1 0 Multiplicador
0 0 0 0 Produto parcial1 1 0 1 Produto parcial
0 0 0 0 Produto parcial1 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
MultiplicadorA
B
0
0
A1
A2
A3
B
0
1
123AAAA
+
B
0
2
123AAAA
0
+
B
0
3
123AAAA
+
M0
M1
M2
M3
M4
M5
M6
M7
0S1S2S3SoutC
0S1S2S3SoutC
0S1S2S3SoutC
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 10 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
MUX1
2
3S S0 1
AB
i
i
Ri
HH0 1
H1H0 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 SHRC 0 C0
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
J2J1J0 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
An-1
in
1 0 13
0
0000
MUX3 2
MUXSel
n
1MUXSel1
MUXSel1
MUXSel1
...
R
Rn-1 Rn-2 R1 R0
MUX0S 2
MUXSel1
C
An-1A1
n
A
A0
J 2J 1
J 0
A2A0An-1An-3An-2
00CAn-1
in
out
0CA0
S01S
S01
Jose Monteiro (DEI / IST) Arquitectura de Computadores 2009-04-06 16 / 17
Tabela de Micro-operacoes da ULA
S4S3S2S1S0 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