Tema 2 ALU - Tema 2 PDF

Title Tema 2 ALU - Tema 2
Course Estructura De Los Computadores
Institution Universidad de Alicante
Pages 129
File Size 7.8 MB
File Type PDF
Total Downloads 10
Total Views 156

Summary

Tema 2...


Description

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...


Similar Free PDFs