Title | Tema 2 ALU - Tema 2 |
---|---|
Course | Estructura De Los Computadores |
Institution | Universidad de Alicante |
Pages | 129 |
File Size | 7.8 MB |
File Type | |
Total Downloads | 10 |
Total Views | 156 |
Tema 2...
T EMA 2. U NIDAD A RITMÉTICO -L ÓGICA
1
U NIDAD A RITMÉTICO -L ÓGICA
Introducción
Unidad lógica
Operadores de desplazamiento
Unidad aritmética entera
Sumar y restar
Multiplicar y dividir
Unidad aritmética flotante. IEEE 754
Sumar y restar
Multiplicar y dividir
Técnicas de redondeo
TEMA 2. UNIDAD ARITMÉTICO-LÓGICA
2
E STRUCTURA GENERAL ALU
B
A
TEMP
C D E
ALU
Z
C
O
Operador aritmético, lógico, desplazamiento (uno o varios) (ALU)
El Acumulador
Uno o varios registros temporales
Indicadores de resultado
Acarreo (C)
Negativo (N)
Desbordamiento (O)
Cero (Z)
TEMA 2. UNIDAD ARITMÉTICO-LÓGICA
Operación (suma, resta, desplaz., and, or,…
3
O PERACIONES T ÍPICAS
Potencia de cálculo
Operación
Mínima
Baja
Media
Alta
Comb
Comb
Comb
Comb
Suma/Resta en coma flotante
Prg/Copr
Prg/UC
UC
Secu
Multiplicación en binario
Prg/Copr
Prg/UC
UC
Comb
Multiplicación en coma flotante
Prg/Copr
Prg/UC
UC
Secu
División en binario
Prg/Copr
Prg/UC
UC
Secu
División en coma flotante
Prg/Copr
Prg/UC
UC
Secu
Operaciones lógicas
Comb
Comb
Comb
Comb
Desplazamientos unitarios
Comb
Comb
Comb
Comb
Desplazamientos múltiples
Prg
Prg/UC
UC
Comb
Suma/Resta en binario
TEMA 2. UNIDAD ARITMÉTICO-LÓGICA
4
O PERACIONES LÓGICAS
Fáciles de implementar Correspondencia directa con Hardware.
Puertas lógicas AND, OR, OR-EXCLUSIVA, INVERSORES,... Operación
A 00
B
Resultado 01 10
TEMA 2. UNIDAD ARITMÉTICO-LÓGICA
5
O PERACIONES DE DESPLAZAMIENTO
Consisten en trasladar los bits de una palabra hacia la izquierda o derecha.
Dependiendo de cómo se traten los extremos, se obtienen tres tipos de desplazamientos:
Lógicos
Circulares
Aritméticos
TEMA 2. UNIDAD ARITMÉTICO-LÓGICA
6
D ESPLAZAMIENTOS LÓGICOS Los valores extremos se completan con ceros, aunque se pueden plantear desplazamientos lógicos con inclusión de unos en lugar de ceros
o15 o14 o13 o12 o11 o10 o9 o8 o7 o6 o5 o4 o3 o2 o1 o0
Origen
K=4 Desp. Izq.
Estos bits se pierden
0 d15 d14 d13 d12 d11 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0
Destino
Habitualmente, el origen y destino es la misma palabra.
0
0 Desplazamiento lógico a la derecha TEMA 2. UNIDAD ARITMÉTICO-LÓGICA
Desplazamiento lógico a la izquierda
7
D ESPLAZAMIENTOS CIRCULARES
Los bits del origen que sobran por un lado, se insertan en el destino por el otro, matemáticamente: o15 o14 o13 o12 o11 o10 o9 o8 o7 o6 o5 o4 o3 o2 o1 o0 K=4
d15 o14 d13 d12 d11 d10 d9 d8 d7 d6 d5 d4 d3 d2 d1 d0
Desplazamiento circular a la derecha
TEMA 2. UNIDAD ARITMÉTICO-LÓGICA
Desplazamiento circular a la izquierda
8
D ESPLAZAMIENTOS ARITMÉTICOS
Se tiene en cuenta el bit de signo y se representa en complemento a 2.
Desplazamiento a la izquierda (multiplicación por 2): bs
0 Desplazamiento aritmético a la izquierda
Se van perdiendo bits de signo y hay que introducir ceros por la derecha para números positivos
Para que no haya overflow hay que comprobar el bit de signo después de la operación:
Si el número es positivo, se desplaza y da negativo -> Overflow
Si el número es negativo, se desplaza y da positivo -> Overflow
TEMA 2. UNIDAD ARITMÉTICO-LÓGICA
9
D ESPLAZAMIENTOS ARITMÉTICOS
Ejemplos:
O= 0000 1010 = 1010 x2 → D= 0001 0100 = 2010 → correcto
Negativos en complemento a 2: 1 → 0 y +1
O= 0100 0000 = 6410 x2 → D= 1000 0000 = -12810 → incorrecto
O= 1111 1100 = -410 x2 → D= 1111 1000 = -8 10 → correcto
O= 1000 0100 = -12410 x2 → D= 0000 1000 = 810 → incorrecto
TEMA 2. UNIDAD ARITMÉTICO-LÓGICA
10
D ESPLAZAMIENTOS ARITMÉTICOS
Desplazamiento a la derecha (división por 2):
Hay que conservar el signo del dato, hay que recircularlo.
Hay que introducir ceros por la izquierda para números positivos
Para números negativos hay que introducir unos bs
Desplazamiento aritmético a la derecha
O= 0000 1010 = 1010 /2 → D= 0000 0101 = 510 O= 1111 1100 = -410 /2 → D= 1111 1110 = -2 10 TEMA 2. UNIDAD ARITMÉTICO-LÓGICA
11
I MPLEMENTACIÓN OPERACIONES DE DESPLAZAMIENTO
Puertas lógicas Unidad de desplazamiento de 2 bits para el bit 4
La complejidad es elevada.
Las señales de control son las mismas para cada bit.
o7
o6
o5
o4
o3
o2
o1
o0 Señales de control
k= -2 k= -1 k=+0 k=+1 k=+2
d7 TEMA 2. UNIDAD ARITMÉTICO-LÓGICA
d6
d5
d4
d3
d2
d1
d0 12
I MPLEMENTACIÓN OPERACIONES DE DESPLAZAMIENTO
Multiplexores o7
Unidad de desplazamiento de 2 bits para el bit 4
o6
o5
o4
o3
o2
o1
o0 El desplazamiento a la izquierda está reflejados como un número positivo en la señales de control.
Los desplazamientos a la derecha están reflejados como un número negativo expresado en C2
Señales de control 7
6
3
4
5
2
1
MULTIPLEXOR
d7
TEMA 2. UNIDAD ARITMÉTICO-LÓGICA
d6
d5
d4
d3
0 c2
c1 c0
d2
d1
d0
0 0 0 1 0 0 0 1 0 k=+2 k=+1 k=+0
1 1 0 1 k= -1 k= -2 1 1
Colocamos en las entradas de control el número de bits a desplazar
13
L A SUMA Y LA RESTA
Semisumador Binario (H.A.) Entradas
Salidas
A
B
S
C
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
A B
TEMA 2. UNIDAD ARITMÉTICO-LÓGICA
S
H.A.
C
S = AB + AB = A B C = AB
A B
S C
14
S UMADOR COMPLETO (F.A.)
Sumador Binario (F.A.)
Entradas
Cin A B
F.A. Cout
S
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
S = A B Cin + A B Cin + A B Cin + A B Cin = (A B) Cin Cout = A B + A Cin + B Cin = A B + Cin(A B) TEMA 2. UNIDAD ARITMÉTICO-LÓGICA
15
S UMADOR COMPLETO (F.A.)
Sumador completo (FA) – Puertas lógicas (expresión booleana) 1T A B Cin
1T
1T S
3T
Cout 2T
TEMA 2. UNIDAD ARITMÉTICO-LÓGICA
16
S UMADOR COMPLETO (F.A.)
Sumador completo (FA) - Semisumadores
F.A. H.A. A
1T S C
B Cin
TEMA 2. UNIDAD ARITMÉTICO-LÓGICA
H.A.
1T 2T
S
S
C 1T
Cout 3T
17
S UMADOR CON PROPAGACIÓN DE ACARREO (CPA)
La estructura para sumar dos números de n bits es colocar en cascada n sumadores completos.
El acarreo se propaga de una etapa a la siguiente: Sumador con Propagación de Acarreo (Carry Propagated Adder)
Bn-1
FA Cn
B1
An-1
Sn-1
TEMA 2. UNIDAD ARITMÉTICO-LÓGICA
Cn-1
FA C2
B0
A1
S1
C1
A0
FA
C0
S0
18
S UMADOR CON PROPAGACIÓN DE ACARREO (CPA)
Sumador con propagación de acarreo de 4 bits.
B3
B2
A3
FA
C3
A2
FA
B1 C2
B0
A1
FA
C1
A0
FA
C0
C4 S3
TEMA 2. UNIDAD ARITMÉTICO-LÓGICA
S2
S1
S0
19
S UMADOR CON PROPAGACIÓN DE ACARREO (CPA)
Sumadores construidos con sumadores completos a partir de puertas lógicas: 1T
A B
Cin
1T 1T S 3T
Tiempo Total = (2n + 1 ) T B3
8T
B2
A3
FA
C3
6T
A2
FA
9T
C4 S3 TEMA 2. UNIDAD ARITMÉTICO-LÓGICA
Cout 2T
B1 C2 4T
FA
7T S2
B0
A1 C1
2T
A0
FA 3T
5T S1
C0
S0
20
S UMADOR CON PROPAGACIÓN DE ACARREO (CPA)
Sumadores completos construidos con semisumadores: F.A. H.A. A B
1T S
H.A. 1T S
C
C
2T S
1T
Cin
Cout 3T
Tiempo Total = ( 2n + 1 ) T B3
9T
B2
A3
FA
7T
FA
S3
B1
C2 5T
S2
B0
A1
FA
6T
8T
C4 TEMA 2. UNIDAD ARITMÉTICO-LÓGICA
C3
A2
C1 3T
A0
FA 2T
4T S1
C0
S0 21
C IRCUITO RESTADOR
Puesto que se trabaja con números expresados en complemento a 2 (C2) → C2(B) = C1(B) + 1.
A - B = A + (C1(B) + 1)
B3
A3
FA
A2
B2
C3
FA
A1
B1
C2
FA
A0
B0
C1
FA
C0=1
C4 S3
TEMA 2. UNIDAD ARITMÉTICO-LÓGICA
S2
S1
S0
22
C IRCUITO S UMADOR -R ESTADOR S/R
Bi
Entrada al FA
0
0
0
0
1
1
1
0
1
1
1
0
B3
A3
Tiempo Total = 2 ( n + 1 ) T
B1
A2
B2
A0
B0
A1
S/R
FA
C3
FA
C2
FA
C1
FA
C0
C4 S3
TEMA 2. UNIDAD ARITMÉTICO-LÓGICA
S2
S1
S0
23
D ETECCIÓN DE DESBORDAMIENTO Sumador-Restador en C2 con detección de desbordamiento. B3
A3
FA
C3
B1
A2
B2
A0
B0
A1
S/R
FA
C2
FA
C1
FA
C0
C4 S3
S2
S1
S0
V TEMA 2. UNIDAD ARITMÉTICO-LÓGICA
24
D ETECCIÓN DE DESBORDAMIENTO 1. Caso suma de dos positivos C4
C3
C2
C1
0
1
1
1
0 0 1
1 1 1
1 1 1
1 (+7) 1 (+7) 0 ¿ -2 ? → OV
2. Caso suma de dos negativos C4 C3 1 0
1 1 0
TEMA 2. UNIDAD ARITMÉTICO-LÓGICA
C2 1
0 0 1
C1 1
0 1 0
1 1 0
(-7) (-5) ¿ 4 ? → OV
25
S UMADOR CON ANTICIPACIÓN DE ACARREO (CLA)
Carry Lookahead Adder (CLA)
Suponer A y B números de 4 bits
A
P
B Cin
G
S
Cout
Señal generadora de acarreo : Gi = Ai Bi Pi = Ai Bi Señal propagadora de acarreo: Pi = Ai + Bi
Acarreo de la etapa i: Ci = Gi + Pi Ci-1
Particularizando para A y B: C0 = G0 + P 0 C -1 C1 = G1 + P 1 C 0 C2 = G2 + P 2 C 1 C3 = G3 + P 3 C 2
TEMA 2. UNIDAD ARITMÉTICO-LÓGICA
26
S UMADOR CON ANTICIPACIÓN DE ACARREO (CLA)
Desarrollando las expresiones y poniéndolas en función de C-1: C0 = G0 + P0 C-1 C1 = G1 + P1 G0 + P1 P0 C-1 C2 = G2 + P2 G1 + P2 P1 G0 + P2 P1 P0 C-1 C3 = G3 + P3 G2 + P3 P2 G1 + P3 P2 P1 G0 + P3 P2 P1 P0 C-1 A
P
B Cin
G
S Cout
Todos los acarreos dependen de Ai y Bi (y de C-1).
Estas expresiones se resuelven como suma de productos.
Tres niveles de puertas lógicas para obtener cada uno de los acarreos.
TEMA 2. UNIDAD ARITMÉTICO-LÓGICA
27
S UMADOR CON ANTICIPACIÓN DE ACARREO (CLA)
B3
FA G3 P3
TEMA 2. UNIDAD ARITMÉTICO-LÓGICA
C2
A2
FA G2 P2
S3 C3
B2
A3
S2
B1 C1
B0
A1
FA
C0
G1 P1
FA G0 P0
S1
A0 C-1
S0
Generador de Acarreo Anticipado
28
S UMADOR CON ANTICIPACIÓN DE ACARREO (CLA) B3
B2
A3 C2
FA G3 P3 1T 1T
3T 4T
S3
FA 1T 1T
B1 C1 3T 4T
G2 P2
C3
A
A2
S2
FA
C0
S1
A0 C-1
FA
3T 4T
G1 P1 1T 1T
B0
A1
G0 P0 1T 1T
2T
S0
Generador de Acarreo Anticipado (2T)
P S 4T
B Cin
G
Sumadores construidos con semisumadores
3T
http://www.ecs.umass.edu/ece/koren/arith/simulator/Add/lookahead/ TEMA 2. UNIDAD ARITMÉTICO-LÓGICA
29
S UMADOR CON ANTICIPACIÓN DE ACARREO (CLA): E JEMPLO DE 8 BITS
B7
B6
A7 C6
FA G7 P7
S7
B5
A6 C5
FA G6 P6
S6
B4
A5 FA
G5 P5
S5
C4
B3
A4 C3
FA G4 P4
S4
B2
A3 C2
FA G3 P3
S3
B1
A2 C1
FA G2 P2
S2
B0
A1 C0
FA G1 P1
S1
A0 C-1
FA
G0 P0
S0
C7 Generador de Acarreo Anticipado
Generador de Acarreo Anticipado
Calcula los retardos en este CLA suponiendo que los sumadores se construyen con semisumadores. Compara el resultado con el de un sumador CPA de 8 bits.
TEMA 2. UNIDAD ARITMÉTICO-LÓGICA
30
L A MULTIPLICACIÓN
Algoritmo de sumas y desplazamientos
Si el multiplicando es de n bits y el multiplicador de m bits, entonces el producto tendrá una longitud de n+m bits.
Multiplicación binaria: sencilla ya que hay que multiplicar por 1 o por 0.
Multiplicando Multiplicador
Producto
TEMA 2. UNIDAD ARITMÉTICO-LÓGICA
5 4
3 3
2 1
1
5
3
2
6
1
5
9
2
1
2
8
2
2
9
2
9
0
0
1
0
0
0
0
1
0
0
1
0
0
0
2
31
M ULTIPLICACIÓN BINARIA SIN SIGNO Versión preliminar 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 Despl. derecha
Multiplicando n bits
Multiplicador
Suma
ALU
n bits
Despl. derecha C
Control
Producto P 2n bits
TEMA 2. UNIDAD ARITMÉTICO-LÓGICA
Escribir
32
M ULTIPLICACIÓN BINARIA SIN SIGNO Versión preliminar Repetir n veces Si multiplicador[0]=1 entonces LHProducto=Multiplicando+LHPro ducto Fin entonces Desp>> 1bit prod. Desp>> 1bit multiplicador Fin repetir
Despl. derecha
Mult...