Sie sind auf Seite 1von 46

Tema 3. La Unidad Central de Proceso. A.L.U.

1
ARQUITECTURAS DE
COMPUTADORES
2 CURSO INGENIERA TCNICA
EN INFORMTICA DE GESTIN
TEMA 3 UNIDAD ARITMTICO-
LGICA
JOS GARCA RODRGUEZ
JOS ANTONIO SERRA PREZ
Tema 3. La Unidad Central de Proceso. A.L.U. 2
La Unidad Aritmtica y Lgica
Introduccin
Operaciones Lgicas
La suma y la resta
Sumador con propagacin de acarreo (CPA)
Circuito sumador-restador
Desbordamiento
Sumadores con anticipacin de acrreo (CLA)
La multiplicacin
Multiplicacin binaria sin signo
Multiplicacin binaria con signo
Algoritmo de Booth
La divisin
Conclusiones
La ALU
Tema 3. La Unidad Central de Proceso. A.L.U. 3
Introduccin
Operador aritmtico y lgico (uno o varios)
El Acumulador
Uno o varios registros temporales
Indicadores de resultado
Acarreo (C)
Negativo (N)
Desbordamiento (O o V)
Cero (Z)
B
C
D
E
Z C O
TEMP A
ALU
Introduccin
Tema 3. La Unidad Central de Proceso. A.L.U. 4
Operaciones lgicas
Fciles de implementar Correspondencia directa con
Hardware.
Puertas lgicas AND, OR, OR-EXCLUSIVA,
INVERSORES,...
Operacin
A
B
Resultado
00
01
10
Operaciones
Lgicas
Tema 3. La Unidad Central de Proceso. A.L.U. 5
La suma y la resta
Entradas Salidas
X Y S C
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
Y X C
Y X Y X Y X S
=
= + =
A
B
S
C
H.A.
A
B
C
S
H.A.
Semisumador Binario (H.A.)
Semisumador
Tema 3. La Unidad Central de Proceso. A.L.U. 6
Sumador completo (F.A.)
La suma
y la resta
A
B
S
Cin
Cout
F.A.
Entradas Salidas
A B Cin S Cout
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Cin B Cin A B A Cout
Cin B A Cin B A Cin B A Cin B A S
+ + =
+ + + =
( )
( ) B A Cin AB Cout
Cin B A S
+ =
=
Tema 3. La Unidad Central de Proceso. A.L.U. 7
Sumador completo (F.A.)
La suma
y la resta
Con semi-sumadores (H.A.)
H.A.
Cin
F.A.
S
Cout
H.A.
C
S
A
B
C
S
Tema 3. La Unidad Central de Proceso. A.L.U. 8
Sumador completo (F.A.)
La suma
y la resta
Con puertas
Tema 3. La Unidad Central de Proceso. A.L.U. 9
Sumador con propagacin de acarreo
La suma
y la resta
Para sumar dos nmeros de n bits se necesita colocar
en cascada n sumadores completos.
El acarreo se propaga de una etapa a la siguiente:
Sumador con Propagacin de Acarreo (Carry
Propagated Adder)
FA
A
3
B
3
C
2
S
3
C
4
FA
A
2
B
2
C
2
S
2
FA
A
1
B
1
C
1
S
1
FA
A
0
B
0
C
0
S
0
Tema 3. La Unidad Central de Proceso. A.L.U. 10
Sumador con propagacin de acarreo
Sumadores construidos con puertas lgicas a partir de
la expresin:
Cin B Cin A B A Cout
Cin B A Cin B A Cin B A Cin B A S
+ + =
+ + + =
FA
A
3
B
3
C
2
S
3
C
4
FA
A
2
B
2
C
2
S
2
FA
A
1
B
1
C
1
S
1
FA
A
0
B
0
C
0
S
0
3T
2T
5T
4T
7T
6T
9T
8T
La suma
y la resta
Tema 3. La Unidad Central de Proceso. A.L.U. 11
Sumador con propagacin de acarreo
Sumadores completos construidos con semisumadores:
FA
A
3
B
3
C
2
S
3
C
4
FA
A
2
B
2
C
2
S
2
FA
A
1
B
1
C
1
S
1
FA
A
0
B
0
C
0
S
0
2T
3T
4T
5T
6T
7T
8T
9T
La suma
y la resta
( )T 1 n 2 Total Tiempo + = _
Cin
S
Cout
A
B
Tema 3. La Unidad Central de Proceso. A.L.U. 12
Sumador 74ls83
Sumadores integrado
La suma
y la resta
Tema 3. La Unidad Central de Proceso. A.L.U. 13
Sumador 74ls83
La suma
y la resta
Tema 3. La Unidad Central de Proceso. A.L.U. 14
Circuito restador
Suponer que se trabaja con nmeros expresados en
complemento a 2.
A - B = A + (C1(B) + 1)
La suma
y la resta
FA
A
3
B
3
C
2
S
3
C
4
FA
A
2
B
2
C
2
S
2
FA
A
1
B
1
C
1
S
1
FA
A
0
B
0
C
0
=1
S
0
Tema 3. La Unidad Central de Proceso. A.L.U. 15
Circuito Sumador-Restador
La suma
y la resta
FA
A
3
B
3
C
2
S
3
C
4
FA
A
2
B
2
C
2
S
2
FA
A
1
B
1
C
1
S
1
FA
A
0
B
0
C
0
S
0
R/S
R/S B
i
Entrada al FA
0 0 0
0 1 1
1 0 1
1 1 0
( )T 1 n 2 Total Tiempo + = _
Tema 3. La Unidad Central de Proceso. A.L.U. 16
Deteccin de desbordamiento
La suma
y la resta
Sumador-Restador en complemento a 2 con deteccin
de desbordamiento.
FA
A
3
B
3
C
3
S
3
C
4
FA
A
2
B
2
C
2
S
2
FA
A
1
B
1
C
1
S
1
FA
A
0
B
0
C
0
S
0
R/S
V
Tema 3. La Unidad Central de Proceso. A.L.U. 17
Deteccin de desbordamiento
La suma
y la resta
1. Caso suma de dos positivos
S
C4 C3 C2 C1
0 1 1 1
0 1 1 1
0 1 1 1
1 1 1 0 OV
2. Caso suma de dos negativos
S
C4 C3 C2 C1
1 0 1 1
1 0 0 1
1 0 1 1
0 1 0 0 OV
Tema 3. La Unidad Central de Proceso. A.L.U. 18
Sumador con anticipacin de acarreo
Carry Lookahead Adder (CLA)
Suponer A y B nmeros de 4 bits
Seal generadora de acarreo :
Seal propagadora de acarreo:
Acarreo de la etapa i:
Particularizando para A y B:
La suma
y la resta
i i i b a G =

=
=
+
i
i i
i i i
b a P
b a P
1 i i i i C P G C + =
2 3 3 3
1 2 2 2
0 1 1 1
1 0 0 0
C P G C
C P G C
C P G C
C P G C
+ =
+ =
+ =
+ =
Tema 3. La Unidad Central de Proceso. A.L.U. 19
Sumador con anticipacin de acarreo
Desarrollando las expresiones y ponindolas
en funcin de C-1:
Todos los acarreos dependen de ai y bi.
Estas expresiones se resuelven como suma de
productos.
Tres niveles de puertas lgicas para obtener
cada uno de los acarreos.
La suma
y la resta
1 0 1 2 3 0 1 2 3 1 2 3 2 3 3 3
1 0 1 2 0 1 2 1 2 2 2
1 0 1 0 1 1 1
1 0 0 0
C P P P P G P P P G P P G P G C
C P P P G P P G P G C
C P P G P G C
C P G C

+ + + + =
+ + + =
+ + =
+ =
Tema 3. La Unidad Central de Proceso. A.L.U. 20
Sumador con anticipacin de acarreo
La suma
y la resta
a
3

b
3
g
3
p
3
S
3
c
2
a
2

b
2
g
2
p
2
S
2
c
1
a
1

b
1
g
1
p
1
S
1
c
0
a
0

b
0
g
0
p
0
S
0
c
-1
Generador de acarreo anticipado
c
3
Tema 3. La Unidad Central de Proceso. A.L.U. 21
Sumador con anticipacin de acarreo
La suma
y la resta
a
3

b
3
g
3
p
3
S
3
c
2
a
2

b
2
g
2
p
2
S
2
c
1
a
1

b
1
g
1
p
1
S
1
c
0
a
0

b
0
g
0
p
0
S
0
c
-1
Generador de acarreo anticipado
c
3
3T
1T 1T
4T
3T 3T
3T
4T
4T 4T
1T
1T
1T 1T 1T 1T
a
i
b
i
H.A.
C
i-1
F.A.
S
i
c
i
H.A.
1T
3T
4T
Sumadores construidos
con semisumadores
Tema 3. La Unidad Central de Proceso. A.L.U. 22
Ejemplo (Sumador CLA de 8 bits)
La suma
y la resta
a
7

b
7
g
7
p
7
S
7
c
6
a
6

b
6
g
6
p
6
S
6
c
5
a
5

b
5
g
5
p
5
S
5
c
4
a
4

b
4
g
4
p
4
S
4
c
3
Generador de acarreo anticipado
c
7
a
3

b
3
g
3
p
3
S
3
c
2
a
2

b
2
g
2
p
2
S
2
c
1
a
1

b
1
g
1
p
1
S
1
c
0
a
0

b
0
g
0
p
0
S
0
c
-1
Generador de acarreo anticipado
Calcular los retardos en este CLA suponiendo que los
sumadores se construyen con semisumadores.
Comparar el resultado con el de un sumador CPA de 8 bits.
Tema 3. La Unidad Central de Proceso. A.L.U. 23
La multiplicacin
La
multiplicacin
Algoritmo de sumas y desplazamientos
Si multiplicando de n bits y multiplicador de m bits,
entonces el producto tendr una longitud de n+m bits.
Multiplicacin binaria: sencilla ya que hay que
multiplicar por 1 o por 0.
Multiplicando 5 3 2
Multiplicador 4 3 1
5 3 2
1 5 9 6
2 1 2 8
Producto 2 2 9 2 9 2
Tema 3. La Unidad Central de Proceso. A.L.U. 24
Multiplicacin binaria sin signo
La
multiplicacin
ALU
Multiplicando
Multiplicador
Producto
Despl. derecha
Escribir
Suma
Despl. derecha
Control
n bits
n bits
2n bits
C
Repetir n veces
Si el bit 0 del multiplicador=1 entonces
Sumar el multiplicando a la mitad izquierda del
producto y colocar el resultado en la mitad izquierda
del producto.
Fin entonces
Desplazar 1 bit a la derecha el registro producto
Desplazar 1 bit a la derecha el registro multiplicador
Fin repetir
Versin
preliminar
Tema 3. La Unidad Central de Proceso. A.L.U. 25
Multiplicacin binaria sin signo
La
multiplicacin
ALU
Multiplicando
Multiplicador
Producto
Despl. derecha
Escribir
Suma
Despl. derecha
Control
n bits
n bits
2n bits
C
Versin
preliminar
Multiplicando
1 0 1 1
Multiplicador
1 1 0 1
1 0 1 1
0 0 0 0
1 0 1 1
1 0 1 1
Producto
1 0 0 0 1 1 1 1
Tema 3. La Unidad Central de Proceso. A.L.U. 26
Multiplicacin binaria sin signo
La
multiplicacin
Repetir n veces
Si el bit 0 del registro producto=1 entonces
Sumar el multiplicando a la mitad izquierda del
producto y colocar el resultado en la mitad izquierda
del producto.
Fin entonces
Desplazar 1 bit a la derecha el registro producto
Fin repetir
ALU
Multiplicando
Multiplicador
Producto
Despl. derecha
Escribir
Suma
Control
n bits
2n bits
C
Versin
final
Tema 3. La Unidad Central de Proceso. A.L.U. 27
Multiplicacin binaria sin signo
La
multiplicacin
ALU
Multiplicando
Multiplicador
Producto
Despl. derecha
Escribir
Suma
Control
10(d
0
Iteracin 0
valores iniciales
1 0 1 0
0 1 0 0 0 0 0
1
5(d
Tema 3. La Unidad Central de Proceso. A.L.U. 28
Multiplicacin binaria sin signo
La
multiplicacin
ALU
Multiplicando
Multiplicador
Producto
Despl. derecha
Escribir
Suma
Control
0
1 0 1 0
0 1 0 1 0 1 0 1
Iteracin 1
suma P y Mando
Tema 3. La Unidad Central de Proceso. A.L.U. 29
Multiplicacin binaria sin signo
La
multiplicacin
ALU
Multiplicando
Multiplicador
Producto
Despl. derecha
Escribir
Suma
Control
0
1 0 1 0
0 0 1 0 1 0 1 0
Iteracin 1
despla. P dcha.
Tema 3. La Unidad Central de Proceso. A.L.U. 30
Multiplicacin binaria sin signo
La
multiplicacin
ALU
Multiplicando
Multiplicador
Producto
Despl. derecha
Escribir
Suma
Control
0
1 0 1 0
1 0 0 0 0 1 0 1
Iteracin 2
despla. P dcha
Tema 3. La Unidad Central de Proceso. A.L.U. 31
Multiplicacin binaria sin signo
La
multiplicacin
ALU
Multiplicando
Multiplicador
Producto
Despl. derecha
Escribir
Suma
Control
0
1 0 1 0
1 0 0 1 1 0 0 1
Iteracin 3
suma P y Mando
Tema 3. La Unidad Central de Proceso. A.L.U. 32
Multiplicacin binaria sin signo
La
multiplicacin
ALU
Multiplicando
Multiplicador
Producto
Despl. derecha
Escribir
Suma
Control
0
1 0 1 0
0 1 0 0 1 1 0 0
Iteracin 3
despla. P dcha.
Tema 3. La Unidad Central de Proceso. A.L.U. 33
Multiplicacin binaria sin signo
La
multiplicacin
ALU
Multiplicando
Multiplicador
Producto
Despl. derecha
Escribir
Suma
Control
0
1 0 1 0
0 0 1 0 0 1 1 0
Iteracin 4
despla. P dcha.
50(d
Tema 3. La Unidad Central de Proceso. A.L.U. 34
Multiplicacin binaria sin signo
La
multiplicacin
Multiplicando = 1010
Multiplicador = 0101
Producto Multiplicando Accin Iteracin
0000 0101 1010 Valores iniciales 0
1010 0101 1010 Sumar prod. y multiplicando 1
0101 0010 1010 Desplazar prod. a derecha 1
0010 1001 1010 Despl. producto 1 bit a la derecha 2
1100 1001 1010 Sumar prod. y multiplicando 3
0110 0100 1010 Despl. producto 1 bit a la derecha 3
0011 0010 1010 Despl. producto 1 bit a la derecha 4
Tema 3. La Unidad Central de Proceso. A.L.U. 35
Multiplicacin rpida
La
multiplicacin
Tema 3. La Unidad Central de Proceso. A.L.U. 36
Multiplicacin binaria con signo
La
multiplicacin
Supongamos nmeros expresados en Ca2
A = 1010 y B = 0011
Apliquemos algoritmo de sumas y desplazamientos
1 0 1 0
x 0 0 1 1
1 0 1 0
1 0 1 0
0 0 0 0
0 0 0 0
0 0 1 1 1 1 0
1 0 1 0
x 0 0 1 1
1 1 1 1 1 0 1 0
1 1 1 1 0 1 0
0 0 0 0 0 0
0 0 0 0 0
1 1 1 0 1 1 1 0
Versin errnea Versin correcta
Tema 3. La Unidad Central de Proceso. A.L.U. 37
Algoritmo de Booth
Supongamos Multiplicando = 2 y Multiplicador = 7
(en binario 0010 x 0111)
Booth expres 7 = 8 - 1 y sustituyo el multiplicador
por esta descomposicin:
0111 = 1000 - 0001 = +100-1
0 0 1 0 Multiplicando
x +1 0 0 -1 Multiplicador segn A. Booth
1 1 1 1 1 1 1 0 Restamos el multiplciadndo
0 0 0 0 0 0 2 despl. (2 ceros en el multiplicador)
0 0 0 1 0 Sumamos el multiplicando
0 0 0 0 1 1 1 0
La
multiplicacin
Tema 3. La Unidad Central de Proceso. A.L.U. 38
Algoritmo de Booth
La
multiplicacin
Bit actual Bit a la izquierda Sustitucin
0 0 0 (no hay transicin)
0 1 -1 (transicin hacia negativoo)
1 0 +1 (transicin hacia positivo)
1 1 0 (no hay transicin)
Ejemplo: Multiplicando = 11101110 y Multiplicador = 01111010
Recodificacin del multiplicador segn Booth = +1000-1+1-10
1 1 1 0 1 1 1 0
x +1 0 0 0 -1 +1 -1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 1 0 0 1 0
1 1 1 1 1 1 1 1 1 0 1 1 1 0
0 0 0 0 0 0 0 0 1 0 0 1 0
1 1 1 1 0 1 1 1 0 0 0 0
1 1 1 1 0 1 1 1 0 1 1 0 1 1 0 0
Tema 3. La Unidad Central de Proceso. A.L.U. 39
Algoritmo de Booth
La
multiplicacin
ALU
Multiplicando
Multiplicador
Producto
Despl. derecha
Suma/Resta
Control
n bits
2n bits
q
-1
q
0
Inicialmente q
-1
=0
Repetir n veces
Si q
0
= 1 y q
-1
= 0 entonces
Producto
h
= producto
h
- Multiplicando
Si q
0
= 0 y q
-1
=1 entonces
Producto
h
= Producto
h
+ Multiplicando
Desplazamiento aritmtico a la derecha de Producto y q
-1
Fin repetir.
Tema 3. La Unidad Central de Proceso. A.L.U. 40
Algoritmo de Booth
La
multiplicacin
Multiplicando Producto q
-1
Accin Iteracin
1010 0000 1110 0 Valores iniciales 0
1010 0000 1110 0
00 Ninguna operacin
1
1010 0000 0111 0 Desplazamiento dcha. 1
1010 0110 0111 0
10 Resta
2
1010 0011 0011 1 Desplazamiento dcha. 2
1010 0011 0011 1
11 Ninguna operacin
3
1010 0001 1001 1 Desplazamiento dcha 3
1010 0001 1001 1
11 Ninguna operacin
4
1010 0000 1100 1 Desplazamiento dcha. 4
Multiplicando = 1010
Multiplicador = 1110
Tema 3. La Unidad Central de Proceso. A.L.U. 41
La divisin
La divisin la podemos expresar como:
Dividendo = Cociente x Divisor + Resto
El resto es ms pequeo que el divisor. Hay que
reservar el doble de espacio para el dividendo.
Supondemos operandos positivos.
La divisin
Dividendo
10010011 1011
Divisor
10010 01101
Cociente
1011
001110
1011
001111
1011
0100
Resto
Tema 3. La Unidad Central de Proceso. A.L.U. 42
Algoritmo con restauracin
La divisin
Repetir n veces
Desplazar el Dividendo a la izquierda
Dividendo
h
= Dividendo
h
- Divisor
Si Dividendo
h
< 0 entonces (no cabe)
q
0
=0
Dividendo
h
= Dividendo
h
+ Divisor (restaurar)
Sino
q
0
=1
Fin Si
Fin Repetir
ALU
Divisor
Resto
Dividendo
Despl. izquierda
Suma/Resta
Control
n bits
2n bits
q
0
Cociente
Tema 3. La Unidad Central de Proceso. A.L.U. 43
Algoritmo con restauracin
La divisin
Dividendo Divisor Accin Iteracin
0101 0011 0110 Valores iniciales 0
1010 011_ 0110 Desplazar un bit a izquierda 1
0100 011_ 0110 Restar 1
0100 0111 0110 Dividendo
h
> 0 q
0
= 1 1
1000 111_ 0110 Desplazar un bit a izquierda 2
0010 111_ 0110 Dividendo
h
- Divisor (Restar) 2
0010 1111 0110 Dividendo
h
> 0 q
0
= 1 2
0101 111_ 0110 Desplazar un bit a izquierda 3
1111 111_ 0110 Dividendo
h
- Divisor (Restar) 3
1111 1110 0110
Dividendo
h
<= 0 q
0
= 0
3
0101 1110 0110 Dividendo
h
+ Divisor (Restaurar) 3
1011 110_ 0110 Desplazar un bit a izquierda 4
0101 110_ 0110 Dividendo
h
- Divisor (Restar) 4
0101 1101 0110 Dividendo
h
> 0 q
0
= 1 4

Resto Cociente
Tema 3. La Unidad Central de Proceso. A.L.U. 44
Algoritmo sin restauracin
La divisin
Dividendo
h
= Dividendo
h
- Divisor
Repetir n veces
Si Dividendo
h
< 0 entonces
Desplazar el Dividendo a la izquierda
Dividendo
h
= Dividendo
h
+ Divisor
Sino
Desplazar el Dividendo a la izquierda
Dividendo
h
= Dividendo
h
- Divisor
Fin Si
Si Dividendo
h
< 0 entonces
q
0
=0
Sino
q
0
=1
Fin Si
Fin Repetir
ALU
Divisor
Resto
Dividendo
Despl.
izquierda
Suma/Resta
Contro
l
n bits
2n bits
q
0
Cociente
Tema 3. La Unidad Central de Proceso. A.L.U. 45
Algoritmo sin restauracin
La divisin
Dividendo Divisor Accin Iteracin
0000 0111 0010 Valores iniciales 0
1110 0111 0010 Dividendo
h
- Divisor 0
1100 111_ 0010
Dividendo
h
< 0 Desplazar Izda
1
1110 111_ 0010 Dividendo
h
+ Divisor 1
1110 1110 0010
Dividendo
h
< 0 q
0
= 0
1
1101 110_ 0010
Dividendo
h
< 0 Desplazar Izda
2
1111 110_ 0010 Dividendo
h
+ Divisor 2
1111 1100 0010 Dividendo
h
< 0 q
0
= 0 2
1111 100_ 0010
Dividendo
h
< 0 Desplazar Izda
3
0001 100_ 0010 Dividendo
h
+ Divisor 3
0001 1001 0010 Dividendo
h
>= 0 q
0
= 1 3
0011 001_ 0010
Dividendo
h
> 0 Desplazar Izda
4
0001 001_ 0010 Dividendo
h
- Divisor 4
0001 0011 0010
Dividendo
h
> 0 q
0
= 1
4

Resto Cociente
Tema 3. La Unidad Central de Proceso. A.L.U. 46
Conclusiones
Sumadores
Problemtica temporal de los Sumadores con Propagacin de
Acarreo (CPA), especialmente si n elevado.
Los Sumadores con anticipacin de acarreo (CLA) mejoran el
tiempo de respuesta de los sumadores.
Multiplicacin
Problemtica de la multiplicacin de nmeros con signo.
El algoritmo de Booth permite multiplicar nmeros en Ca2 y en
algunos casos reduce el nmeros de operaciones si aparecen
cadenas de 1s o 0s en el multiplicador.
La Divisin
Algoritmo para la divisin con restauracin para nmeros
positivos. Si nmeros negativos, entonces tratamiento previo
del signo, y en funcin de ste se obtiene el signo del resultado.
Conclusiones

Das könnte Ihnen auch gefallen