La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Organización del Computador I Verano Aritmética (2 de 3) Basado en el capítulo 4 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.

Presentaciones similares


Presentación del tema: "Organización del Computador I Verano Aritmética (2 de 3) Basado en el capítulo 4 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn."— Transcripción de la presentación:

1 Organización del Computador I Verano Aritmética (2 de 3) Basado en el capítulo 4 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn

2 ALU de 1 bit ALU de un bit con operaciones de: Elementos básicos:
Suma y Resta And Or Setear si Menor (SLT) Elementos básicos: b c a

3 Sumador de 1 bit cout = a b + a cin + b cin sum = a xor b xor cin
a b Cin Cout S cout = a b + a cin + b cin sum = a xor b xor cin

4 Multiplexores Necesitamos seleccionar la operación: suma and or
B S En función de S, seleccionamos A o B. 2 A B C C D

5 ALU de 1 bit O p e r a t i o n C a r r y I n a 1 R e s u l t 2 b C a r
1 R e s u l t 2 b C a r r y O u t

6 ALU de 32 bit

7 ALU con resta B i n v e r t O p e r a t i o n C a r r y I n a 1 R e s
1 R e s u l t b 2 1 C a r r y O u t

8 ALU con SLT Si A<B entonces 1 sino 0 . Como funciona?

9 ALU completa

10 ALU de 32 bits Overflow? 3 Líneas de Control
Bnegate y Operación(2) 000 = and 001 = or 010 = add 110 = subtract 111 = slt Overflow?

11 ALU de 32 bits Líneas de Control = and 001 = or 010 = add 110 = subtract 111 = slt 32 A B Op Resultado ALU Cero l

12 Conclusión Hemos construido una ALU que soporta el juego de instrucciones MIPS usamos un multiplexor para seleccionar la salida replicamos la ALU de 1 bit para conseguir la de 32 bits Cosas importantes del hardware todas las puertas estan siempre trabajando la velocidad de una puerta está afectada por el número de entradas de la puerta la velocidad del circuito está afectada por el número de puertas en serie

13 Sumador con Anticipación de Acarreo
En el sumador de 32 bits que acabamos de diseñar, cada sumador de un bit puede determinar en paralelo el valor de Si, pero el Cout depende del sumador anterior. Es decir, hay una cadena de dependencias desde el sumador del bit mas bajo hasta el sumador del bit mas alto muy costoso en tiempo.

14 Acarreo Rápido c1=a0b0+a0c0+b0c0 c2=a1b1+a1c1+b1c1 c3=a2b2+a2c2+b2c2
C a r r y I n A L U b C a r r y O u t c1=a0b0+a0c0+b0c0 a 1 C a r r y I n A L U 1 b 1 C a r r y O u t c2=a1b1+a1c1+b1c1 a 2 C a r r y I n A L U 2 b 2 C a r r y O u t c3=a2b2+a2c2+b2c2 c31=a30b30+a30c30+b30c30 a 3 1 C a r r y I n A L U 3 1 b 3 1 c32=a31b31+a31c31+b31c31

15 Acarreo Rápido c1=a0b0+a0c0+b0c0 Reemplazamos !! c2=a1b1+a1c1+b1c1
C a r r y I n A L U b C a r r y O u t c1=a0b0+a0c0+b0c0 a 1 C a r r y I n Reemplazamos !! A L U 1 b 1 C a r r y O u t c2=a1b1+a1c1+b1c1 Reemplazamos !! a 2 C a r r y I n A L U 2 b 2 C a r r y O u t c3=a2b2+a2c2+b2c2 c31=a30b30+a30c30+b30c30 a 3 1 C a r r y I n A L U 3 1 b 3 1 Reemplazamos !! c32=a31b31+a31c31+b31c31

16 Acarreo Rápido c1=a0b0+a0c0+b0c0 c2=a1b1+a1a0b0+a1a0c0+a1b0c0 +
C a r r y I n A L U b C a r r y O u t c1=a0b0+a0c0+b0c0 a 1 C a r r y I n A L U 1 b 1 C a r r y O u t c2=a1b1+a1a0b0+a1a0c0+a1b0c0 + b1a0b0+b1a0c0+b1b0c0 a 2 C a r r y I n A L U 2 b 2 C a r r y O u t La ecuación de Cn crece exponencialmente con n se vuelve muy cara de implementar en hardware a 3 1 C a r r y I n A L U 3 1 b 3 1

17 Método de Anticipación de Acarreo
Ci+1=aibi+aici+bici Ci+1=aibi+ci (ai+bi) gi = aibi pi = ai + bi Ci+1=gi+ci pi El término gi, genera acarreo, independientemente de ci El término pi, propaga el acarreo proveniente de ci

18 Para un sumador de 4 bits Ci+1=gi+ci pi pi = ai + bi c1=g0+p0 c0
gi = aibi c2=g1+(p1g0)+(p1p0 c0) c3=g2+(p2g1)+(p2p1 g0 )+(p2p1p0 c0) c0 c4=g3+(p3g2)+(p3p2 g1 )+(p3p2p1 g0)+ (p3p2p1 p0)c0 Fijense que las ecuaciones se complican si crece n!! Solución: realizar un sumador de n bits utilizando módulos de 4-bit con anticipación de acarreo.

19 Sumador de 16 bits con módulos de 4 bits
c4=g3+(p3g2)+(p3p2 g1 )+(p3p2p1 g0)+ (p3p2p1 p0)c0 P0 G0 c0 C1= G0 +(P0c0) a0 a1 a2 Módulo de 4 bits a3 P0 ALU0 b0 G0 b1 b2 b3

20 Sumador de 16 bits C1= G0 +(P0c0) C2= G1 +(P1G0) +(P1P0c0)
ALU0 P1 G1 a4 a5 a6 a7 b4 b5 b6 b7 ALU1 P2 G2 a8 a9 a10 a11 b8 b9 b10 b11 ALU2 P3 G3 a12 a13 a14 a15 b12 b13 b14 b15 ALU3 C1= G0 +(P0c0) S0..3 pi gi C2= G1 +(P1G0) +(P1P0c0) C1 ci+1 S4..7 pi+1 gi+1 C3= G2 +(P2G1) +(P2P1G0) +(P2P1P0c0) C2 ci+2 S8..11 Toda la lógica empieza a evaluar al mismo tiempo, una vez que llega a un estado estable, se mantiene. pi+2 gi+2 C3 ci+3 S12..15 pi+3 gi+3 ci+4 C4 C4= G3 +(P3G2) +(P3P2G1) +(P3P2P1G0) +(P3P2P1P0c0)

21 Estimación de tiempos Vamos a calcular el rendimiento relativo entre el sumador con propagación de acarreo y el que anticipa el acarreo. Suponemos que los retardos son los mismos para todas las puertas el retardo es igual al número de puertas que la señal deba atravesar. Para cada diseño, sumaremos los retardos del camino crítico (el más largo).

22 Estimación de tiempos Conclusión: Para el sumador con propagación:
La salida carry atraviesa dos puertas 2 por bit16 bits *2=32 Para el sumador con anticipación: La salida C4 es una suma de productos (puertas AND, luego puertas OR) de términos P y G. Dos niveles de puertas. P es un AND (un nivel) G es suma de productos (dos niveles de puertas) El peor caso sería: 2+1+2=5 Conclusión: El sumador con anticipación es 6 veces más rápido que el sumador con propagación de acarreo.

23 FIN Construcción de una ALU


Descargar ppt "Organización del Computador I Verano Aritmética (2 de 3) Basado en el capítulo 4 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn."

Presentaciones similares


Anuncios Google