Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad...

45
1 Unidad Aritmética

Transcript of Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad...

Page 1: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

1

Unidad Aritmética

Page 2: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

2

Unidad Aritmética

Sumador sin signo. Dos números sin signo, con ancho tres. Con A0 y B0 los bits menos significativos. Carry-in, que es una entrada del sumador, igual a

cero.

A2 A1 A0+ B2 B1 B0Co S2 S1 S0

Page 3: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

3

Unidad Aritmética

Sumador sin signo.Se realizan las sumas binarias, para cada par

de valores posibles para las entradas. Se forma una tabla, en la que se han indicado

los valores de los operandos de entrada en decimal y binario.

Page 4: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

4

Unidad Aritmética

Sumador sin signo.

Page 5: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

5

Unidad Aritmética

Sumador sin signo.La señal Carry-out, que es una salida del

sumador nos permite detectar el resultado incorrecto.

En caso de un sumador de largo n, la condición de resultado incorrecto para la suma de enteros sin signo es simplemente la señal de Carry-out.

Page 6: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

6

Unidad Aritmética

Sumas y Restas con signo.Dos números con signo, en complemento a

dos, de ancho tres.Con operandos de largo 3, no pueden

representarse los menores que -4 y los mayores que +3.

Page 7: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

7

Unidad Aritmética

Sumas y Restas con signo.

Page 8: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

8

Unidad Aritmética

Sumas y Restas con signo. Se produce resultado incorrecto (overflow), cuando el

signo de ambos operandos es diferente del signo del resultado.

El Carry-out, no determina esta condición, ya que existen resultados correctos que tienen Carry-out igual a uno.

La ecuación lógica para el overflow, puede obtenerse en la última etapa del sumador, con los bits de signo de los operandos (A2, B2) y el bit de signo del resultado (S2).

Page 9: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

9

Unidad Aritmética

Sumas y Restas con signo.ov = overflow = A2 B2 S2' + A2' B2' S2Para un sumador de 32 bits:

ov = overflow = A31 B31 S31' + A31' B31' S31

Page 10: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

10

Unidad Aritmética

Comparaciones.Se desea poder comparar dos números con

signo, para hacerlo se efectuará la resta entre ellos.

La condición se denomina LT (less than).Se ingresan al sumador un número (A), y el

complemento uno del otro(~B). Se fija Carryin en uno.

En cada casilla de la tabla, el Carry-out y los tres bits de la suma.

Page 11: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

11

Unidad Aritmética

Comparaciones.

Page 12: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

12

Unidad Aritmética

Comparaciones.La zona A < B, se encuentra sobre la

diagonal principal de la matriz. La condición A = B, es la diagonal principal,

en la cual todos los bits del resultado son ceros, y uno la reserva de salida.

Page 13: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

13

Unidad Aritmética

Comparaciones.Existen dos zonas triangulares en las que se

produce overflow. Una en que los signos de las entradas al sumador

(no los operandos) son ambos negativos, y el resultado es positivo.

La otra zona triangular caracteriza operandos de entrada al sumador positivos y signo del resultado negativo.

Page 14: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

14

Unidad Aritmética

Comparaciones.A es menor que B, si el signo del resultado es

menos y no hay overflow o si el signo del resultado es positivo y se produce overflow.

Entonces la ecuación lógica puede escribirse: LT = (A < B) = S2 ov' + S2' ov

Page 15: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

15

Unidad Aritmética

Comparaciones de números sin signo. Condición less than unsigned (LTU). Entonces la ecuación lógica para la condición LTU

es: LTU = ~Cout

Page 16: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

16

Unidad Aritmética

Generación de condiciones. Para un sumador de 32 bits, se puede construir la

siguiente tabla de verdad para las condiciones, en función de las entradas A31, B31 y el carry-in a esa etapa, C31.

A31 B31 C31 Co S31 Ov LT

0 0 0 0 0 0 0

0 0 1 0 1 1 0

0 1 0 0 1 0 1

0 1 1 1 0 0 0

1 0 0 0 1 0 1

1 0 1 1 0 0 0

1 1 0 1 0 1 1

1 1 1 1 1 0 1

Page 17: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

17

Unidad Aritmética

Generación de condiciones.Las condiciones pueden escribirse en función

de las entradas a la última etapa del sumador:

A31B31 B31C31' A31C31' ) ov S31 ( ) B (A LT

Co). de diferente (C31

CoC31' C31Co' ) Co C31 ( ov

++=⊕=<=

+=⊕=

Page 18: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

18

Unidad Aritmética

Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones: and, or, suma,

resta y una instrucción de comparación. Operandos de 32 bits, y condiciones para overflow. Se decide emplear una operación de set on less, que

deje un uno en el bit menos significativo del resultado si el operando A es menor que el operando B.

Puede plantearse un diseño modular. El siguiente esquema, basado en multiplexores, logra cumplir las especificaciones dadas.

Page 19: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

19

Unidad Aritmética

Arquitectura de una unidad aritmética Para una etapa cualquiera.

Si Binvert y CarryIn son unos, y la operación es suma, se logra obtener la resta de A con B.

Page 20: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

20

Unidad Aritmética

Arquitectura de una unidad aritméticaEtapa del bit más significativo.

Page 21: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

21

Unidad Aritmética

Arquitectura de una unidad aritméticaEsquema general.

Page 22: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

22

Unidad Aritmética

Arquitectura de una unidad aritméticaModificación para tratar números con signo.

Page 23: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

23

Unidad Aritmética

Análisis de un sumador binario.Ecuaciones. Para un sumador completo se

tiene la siguiente tabla de verdad:

Page 24: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

24

Unidad Aritmética

Análisis de un sumador binario. Ecuaciones. Leyendo del mapa se obtienen, minimizando en dos

niveles: Ci +1 = Ai Bi + (Ai +Bi) Ci Si = Ci’(AiBi’+Ai’Bi) + Ci( Ai’Bi’ +AiBi)

Como: (AiBi’+Ai’Bi) = Ai ⊕ BiY su complemento es: (Ai ⊕ Bi)’= (AiBi’+Ai’Bi)’ = (Ai’+Bi)(Ai+Bi’) = ( Ai’Bi’ +AiBi) Se puede escribir en forma más compacta: Si = Ci⊕Ai⊕Bi

Page 25: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

25

Unidad Aritmética

Análisis de un sumador binario.Ecuaciones. Empleando:

Gi = Ai Bi Pi = Ai + Bi

Pueden escribirse: Ci+1 = Gi + Pi Ci Si = Ci ⊕ ( Gi’ Pi)

Page 26: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

26

Unidad Aritmética

Análisis de un sumador binario.El diagrama muestra que la suma binaria

puede realizarse mediante las señales Gi, Pi y Ci.

Esta forma se emplea en el diseño del sumador de cuatro bits, con generación adelantada de la reserva, 74LS283.

Page 27: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

27

Unidad Aritmética

Análisis de un sumador binario.Para efectuar un análisis más detallado de los

retardos combinacionales en un sumador se asumirá que la señal Si se genera en dos niveles, a partir de Ai, Bi y Ci.

Y que la reserva de salida se genera empleando las señales Gi, Pi y Ci, en tres niveles.

Page 28: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

28

Unidad Aritmética

Análisis de un sumador binario.La organización de un sumador con

propagación ondulada de la reserva(ripple) produce las salidas con los siguientes retardos de propagación medidos en unidades de retardo a través de una compuerta:

Page 29: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

29

Unidad Aritmética

Análisis de un sumador binario. Todos los tiempos se miden respecto al instante en

que están estables las entradas Ai, Bi y C0. S0 se obtiene con retardo 2, C1 con retardo 3. S1 se obtiene después de 5 unidades, C2 después

de 6 unidades. Ya que desde las entradas A1, B1 y C1, C2 se genera después de tres unidades, y S1 después de 2 unidades.

S2 se obtiene después de 8 unidades, C3 después de 9 unidades.

Si se obtiene después de 3*i +2 unidades, Ci+1 después de 3*i+3 unidades.

Page 30: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

30

Unidad Aritmética

Análisis de un sumador binario.Si se hubieran generado las reservas y las

sumas en dos niveles, se tiene que tanto las suma como la reserva de salida de la etapa i-ésima se obtienen en 2*i+2 retardos de propagación de una compuerta.

Para el caso de 32 bits se tendrán 64 retardos.

Page 31: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

31

Unidad Aritmética

Análisis de un sumador binario.Generador de reserva adelantada.

Se desea reducir el número de niveles para propagar la reserva.

Se plantea un diseño modular agrupando 4 sumadores completos y generando las reservas (C1, C2, C3 y C4) en dos niveles.

A continuación se desarrolla, en forma analítica, el diseño lógico:

Page 32: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

32

Unidad Aritmética

Análisis de un sumador binario. Generador de reserva adelantada.

En las ecuaciones de las reservas de los sumadores completos se efectúan los siguientes reemplazos:

Gi = Ai Bi Genera reserva de salida independiente de la reserva de

entrada. Si Gi es 1, entonces Ci+1 es uno (se genera reserva) Pi = Ai + Bi

Propaga reserva de entrada hacia la reserva de salida. Si Pi es 0, no se propaga.

Page 33: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

33

Unidad Aritmética

Análisis de un sumador binario.Generador de reserva adelantada.

Se plantean las ecuaciones para las reservas en función de Ai, Bi y Ci.

Luego se reemplaza la expresión para C1 en la expresión para C2; a su vez ésta se reemplaza en la expresión de C3, finalmente se reemplaza esta última en la expresión para C4, resultan:

Page 34: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

34

Unidad Aritmética

Análisis de un sumador binario.Generador de reserva adelantada.

C1 = A0B0 +A0 C0 +B0C0 = G0 + C0 P0

C2 = A1B1 +A1 C1 +B1C1 = G1 + C1 P1 = G1 + (G0 + C0 P0) P1

C3 = A2B2 +A2 C2 +B2C2 = G2 + C2 P2 = G2 + (G1 +(G0 + C0 P0) P1) P2

C4 = A3B3 +A3 C3 +B3C3 = G3 + C3 P3 = G3 + (G2 + (G1 +(G0 + C0 P0) P1) P2 )P3

Page 35: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

35

Unidad Aritmética

Análisis de un sumador binario.Generador de reserva adelantada.Expresando en función de Gi, Pi y C0 se

obtienen:C1 = G0 + C0 P0C2 = G1 + G0 P1 + C0 P0 P1C3 = G2 + G1 P2 + G0 P1 P2 + C0 P0 P1 P2C4 = G3 + G2 P3 + G1 P2 P3 + G0 P1 P2 P3 + C0 P0 P1 P2 P3 = G + C0 P

Se diseña un módulo que tenga como entradas Gi, Pi, C0 y como salidas: C1, C2, C3, G y P.

Las ecuaciones anteriores se han integrado en una sola pastilla (74182). Notar que no se genera C4, sino G y P.

Page 36: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

36

Unidad Aritmética

Análisis de un sumador binario.Generador de reserva adelantada.

Page 37: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

37

Unidad Aritmética

Análisis de un sumador binario. Generador de reserva adelantada.

Respecto del instante en que se tienen estables las entradas Ai, Bi y C0 se tienen, expresando en unidades de retardo de propagación a través de una compuerta:

S0 se obtiene después de 2 unidades. P0 y G0 después de una unidad. C1 después de 3 unidades. S1 se obtiene después de 5 unidades (el tiempo de C1 más los

dos niveles del sumador). P1 y G1 después de una unidad. C2 después de 3 unidades (lo genera la unidad de adelanto).

Page 38: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

38

Unidad Aritmética

Análisis de un sumador binario. Generador de reserva adelantada.

Respecto del instante en que se tienen estables las entradas Ai, Bi y C0 se tienen, expresando en unidades de retardo de propagación a través de una compuerta:

S2 se obtiene después de 5 unidades. P2 y G2 después de una unidad. C3 después de 3 unidades. S3 se obtiene después de 5 unidades. P3 y G3 después de una unidad. P se obtiene después de dos unidades y G se obtiene después

de 3 unidades. C4 se obtiene después de 4 unidades, ya que se genera a

partir de G + C0P.

Page 39: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

39

Unidad Aritmética

Análisis de un sumador binario.Generador de reserva adelantada.

Un resumen del sumador de 4 bits con un nivel de generación adelantada de las reservas, se muestra a continuación:

Page 40: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

40

Unidad Aritmética

Análisis de un sumador binario.Generador de reserva adelantada.

Una posibilidad de construir un sumador mayor es agrupar bloques similares al anterior y propagar la reserva en forma ondulada entre los sumadores completos de 4 bits:

Page 41: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

41

Unidad Aritmética

Análisis de un sumador binario.Generador de reserva adelantada.

Otra posibilidad es adelantar la reserva para los cuatro grupos de sumadores de cuatro bits.

Esto consiste en generar a partir de C0 y las señales P y G de cada sumador de 4 bits, las reservas C4, C8, C12 y C16, mediante la red combinacional de generación de reservas adelantadas.

Page 42: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

42

Unidad Aritmética

Análisis de un sumador binario.Generador de reserva adelantada.

Page 43: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

43

Unidad Aritmética

Análisis de un sumador binario.Generador de reserva adelantada.

Page 44: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

44

Unidad Aritmética

Análisis de un sumador binario.Generador de reserva adelantada.

Un resumen de los tiempos, para el sumador de 16 bits, con dos niveles de adelanto de la reserva, se muestra a continuación:

Page 45: Unidad Aritméticaprofesores.elo.utfsm.cl/~tarredondo/info/comp... · 2009-09-23 · 18 Unidad Aritmética Arquitectura de una unidad aritmética. Dispondremos de cuatro operaciones:

45

Unidad Aritmética

Análisis de un sumador binario.Generador de reserva adelantada.

Si se forma un sumador de 32, con propagación ondulada de la reserva entre los sumadores de 16 bits, se logra: