23
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

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

Embed Size (px)

Citation preview

Page 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 2004Profesora Borensztejn

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

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

ALU de 1 bit• ALU de un bit con operaciones de:

– Suma y Resta– And– Or– Setear si Menor (SLT)

• Elementos básicos:

b

c

c

ba

a

a

c

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

Sumador de 1 bit

Sum

CarryIn

CarryOut

a

b

cout = a b + a cin + b cin

sum = a xor b xor cin

a b Cin Cout S

0 0 0 0 0

0 0 1 0 1

0 1 0 0 1

0 1 1 1 0

1 0 0 0 1

1 0 1 1 0

1 1 0 1 0

1 1 1 1 1

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

Multiplexores

• Necesitamos seleccionar la operación:– suma

– and

– or

En función de S, seleccionamos A o B.

S

C

AB

S

CA

B

CD

2

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

ALU de 1 bit

b

0

2

Result

Operation

a

1

CarryIn

CarryOut

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

ALU de 32 bit

b

0

2

Result

Operation

a

1

CarryIn

CarryOut

Result31a31

b31

Result0

CarryIn

a0

b0

Result1a1

b1

Result2a2

b2

Operation

ALU0

CarryIn

CarryOut

ALU1

CarryIn

CarryOut

ALU2

CarryIn

CarryOut

ALU31

CarryIn

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

ALU con resta

0

2

Result

Operation

a

1

CarryIn

CarryOut

0

1

Binvert

b

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

ALU con SLT0

3

Result

Operation

a

1

CarryIn

CarryOut

0

1

Binvert

b 2

Less

0

3

Result

Operation

a

1

CarryIn

0

1

Binvert

b 2

Less

Set

Overflowdetection

Overflow

a.

b.

Si A<B entonces 1sino 0 .

Como funciona?

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

ALU completa

Seta31

0

ALU0 Result0

CarryIn

a0

Result1a1

0

Result2a2

0

Operation

b31

b0

b1

b2

Result31

Overflow

Binvert

CarryIn

Less

CarryIn

CarryOut

ALU1Less

CarryIn

CarryOut

ALU2Less

CarryIn

CarryOut

ALU31Less

CarryIn

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

ALU de 32 bits

3 Líneas de Control Bnegate y Operación(2)

000 = and001 = or010 = add110 = subtract111 = slt

Overflow?

Seta31

0

Result0a0

Result1a1

0

Result2a2

0

Operation

b31

b0

b1

b2

Result31

Overflow

Bnegate

Zero

ALU0Less

CarryIn

CarryOut

ALU1Less

CarryIn

CarryOut

ALU2Less

CarryIn

CarryOut

ALU31Less

CarryIn

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

ALU de 32 bits

Líneas de Control

000 = and001 = or010 = add110 = subtract111 = slt

l

32

32

32

A

B

Op

Resultado

AL

U

Cero

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

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

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

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.

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

Acarreo Rápido

a31

b31

a0

b0

a1

b1

a2

b2

ALU0

Carry In

CarryOut

ALU1

Carry In

CarryOut

ALU2

Carry In

CarryOut

ALU31

Carry In

c0

c1=a0b0+a0c0+b0c0

c2=a1b1+a1c1+b1c1

c32=a31b31+a31c31+b31c31

c3=a2b2+a2c2+b2c2

c31=a30b30+a30c30+b30c30

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

Acarreo Rápido

a31

b31

a0

b0

a1

b1

a2

b2

ALU0

Carry In

CarryOut

ALU1

Carry In

CarryOut

ALU2

Carry In

CarryOut

ALU31

Carry In

c0

c1=a0b0+a0c0+b0c0

c2=a1b1+a1c1+b1c1

c32=a31b31+a31c31+b31c31

c3=a2b2+a2c2+b2c2

c31=a30b30+a30c30+b30c30

Reemplazamos !!

Reemplazamos !!

Reemplazamos !!

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

Acarreo Rápido

a31

b31

a0

b0

a1

b1

a2

b2

ALU0

Carry In

CarryOut

ALU1

Carry In

CarryOut

ALU2

Carry In

CarryOut

ALU31

Carry In

c0

c1=a0b0+a0c0+b0c0

c2=a1b1+a1a0b0+a1a0c0+a1b0c0 + b1a0b0+b1a0c0+b1b0c0

La ecuación de Cn crece exponencialmente con n se vuelve muy cara de implementar en hardware

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

Método de Anticipación de Acarreo

Ci+1=aibi+aici+bici

El término gi, genera acarreo, independientemente de ci

Ci+1=aibi+ci (ai+bi)

gi = aibi pi = ai + bi

Ci+1=gi+ci pi

El término pi, propaga el acarreo proveniente de ci

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

Para un sumador de 4 bits

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.

gi = aibi

pi = ai + bic1=g0+p0 c0

c2=g1+(p1g0)+(p1p0 c0)

c3=g2+(p2g1)+(p2p1 g0 )+(p2p1p0 c0) c0

c4=g3+(p3g2)+(p3p2 g1 )+(p3p2p1 g0)+ (p3p2p1 p0)c0

Ci+1=gi+ci pi

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

Sumador de 16 bits con módulos de 4 bits

c4=g3+(p3g2)+(p3p2 g1 )+(p3p2p1 g0)+ (p3p2p1 p0)c0

C1= G0 +(P0c0)

P0G0

P0

G0

c0

a0a1a2a3b0b1b2b3

ALU0Módulo de 4 bits

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

Sumador de 16 bits

ci+4

P0

G0

c0

a0a1a2

a3

b0b1b2b3

ALU0

P1

G1

a4a5a6

a7b4b5b6b7

ALU1

P2

G2

a8a9a10

a11

b8b9b10b11

ALU2

P3

G3

a12a13a14

a15b12b13b14b15

ALU3

pi

pi+1

pi+2

pi+3

gi

gi+1

gi+2

gi+3

ci+1

ci+2

ci+3

C2

C1

C3

C4

S0..3

S4..7

S8..11

S12..15

Toda la lógica empieza a evaluar al mismo tiempo, una vez que llega a un estado estable, se mantiene.

C1= G0 +(P0c0)

C2= G1 +(P1G0) +(P1P0c0)

C3= G2 +(P2G1) +(P2P1G0) +(P2P1P0c0)

C4= G3 +(P3G2) +(P3P2G1) +(P3P2P1G0) +(P3P2P1P0c0)

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

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

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

Estimación de tiempos• Para el sumador con propagación:

– La salida carry atraviesa dos puertas 2 por bit16 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.

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

FIN Construcción de una

ALU