• No se han encontrado resultados

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

N/A
N/A
Protected

Academic year: 2021

Share "ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES"

Copied!
20
0
0

Texto completo

(1)

ESTRUCTURA Y TECNOLOG

ESTRUCTURA Y TECNOLOG

Í

Í

A DE

A DE

COMPUTADORES

COMPUTADORES

Construcción de una Unidad Aritmética y Lógica

Luis Rincón Córcoles Licesio J. Rodríguez-Aragón

Construcción de una Unidad Aritmética y Lógica

2

Programa

Bibliografía.

1. Introducción.

2. Circuitos para implementar operaciones lógicas.

3. Sumadores binarios elementales.

4. Circuitos para sumar números binarios de N bits.

5. Operación de extensión de signo.

6. Operación de cambio de signo.

7. Circuitos para restar números binarios.

8. Circuitos para sumar y restar números binarios.

9. Indicadores de resultado.

10. Comparaciones.

11. Diseño modular de una unidad aritmética y lógica. 12. Anticipación de acarreo.

(2)

3

 D.A. PATTERSON, J.L. HENNESSY. Estructura y Diseño de Computadores.

Reverté, 2000.

 DORMIDO, S. CANTO M.A., MIRA J., DELGADO A.E.Estructura y Tecnología

de Computadores. 2ª edición. Sanz y Torres, 2000.

 J.M. ANGULO, J.GARCÍA. Sistemas Digitales y Tecnología de Computadores.

Paraninfo, 2002.

 P. DE MIGUEL. Fundamentos de los Computadores. 7ª edición. Paraninfo,

1999.

 W. STALLINGS. Organización y Arquitectura de Computadores. 5ª edición,

Prentice Hall, 2000.

Bibliografía

Construcción de una Unidad Aritmética y Lógica

4

Una unidad aritmética y lógica (UAL) es un circuito combinacional que realiza las operaciones aritméticas y lógicas básicas en el computador.

 Operaciones aritméticas básicas: suma y resta de enteros y

desplazamientos unitarios.

 Operaciones lógicas básicas: NOT, AND, OR, EXOR, NAND, NOR.

 En inglés: ALU (arithmetic and logic unit).

La multiplicación y la división de enteros se realizan en circuitos específicos.

 Antes las máquinas menos potentes no disponían de instrucciones de

multiplicación ni división, y realizaban estas operaciones por programa a base de sumas, restas y desplazamientos.

 Ciertas máquinas realizaban la multiplicación y la división en el sumador

de la UAL bajo el control de la unidad de control.

Las operaciones de desplazamiento múltiple se suelen hacer fuera de la UAL en desplazadores de barril (barrel shifters) a base de transistores.

 También pueden hacerse a base de desplazamientos unitarios, ya sea por

programa o en la UAL controlados por la unidad de control.

1. Introducción

(3)

5

Las implementación de circuitos para operaciones lógicas es muy sencilla: basta simplemente con una batería de puertas lógicas y un multiplexor accionado por las correspondientes señales de selección.

Ejemplo: circuito para realizar AND y OR de dos datos de un bit.

 Operation: señal de selección de un único bit.

2. Circuitos para operaciones lógicas

b 0 1 Result Operation a 1 A C B S M u x C A B S 0

Construcción de una Unidad Aritmética y Lógica

6

3. Sumadores binarios elementales

Son sumadores que suman datos de un solo bit.

Semisumador (half adder):

 Dos entradas: dígitos ai y bi.

 Dos salidas: acarreo ciy bit resultado zi.

Tabla de verdad, funciones lógicas, circuito y símbolo del semisumador:

1 0 0 0 cs 0 1 1 1 0 1 1 1 0 0 0 0 s b a

a

c

s

s

b

cs= a·b s = a ⊕ b Sum + CarryOut a b

(4)

7

Sumadores binarios elementales

Sumador completo (full adder):

 Tres entradas: dígitos ai y bi y acarreo ci-1.

 Dos salidas: acarreo ciy bit resultado zi.

1 1 1 1 0 0 0 0 a 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 1 1 1 0 cs 1 1 1 0 0 1 0 1 0 1 0 0 s ce b a cs s b ce + c e cs s b a + ce cs s b a

cs= a·b + a·ce+b·ce = a·b + (a⊕b)·ce s = a ⊕ b ⊕ ce

Ejercicio: calcular el retardo del sumador. Tabla de verdad, funciones lógicas, circuito y

símbolo del sumador completo:

Construcción de una Unidad Aritmética y Lógica

8

4. Circuitos para sumar números de N bits

Vamos a estudiar distintos tipos de circuitos para calcular sumas de números binarios:

•Sumador de 2 números de N bits con propagación de acarreo en serie

(CPA: carry propagation adder)

•Sumador de acarreo almacenado (CSA: carry save adder)

Hay otras alternativas para circuitos sumadores de 2 números:

•Sumador con anticipación de acarreo (lo veremos al final del tema). •Sumador con salto de acarreo.

•Sumador con predicción de acarreo. •Etc.

Estudiaremos también cómo sumar varios números (matrices de sumadores): •Con CPA

(5)

9

Sumador con propagación de acarreo

SUMADOR DE N BITS CON PROPAGACIÓN DE ACARREO EN SERIE

(CPA: carry propagation adder): permite sumar dos datos de nbits

encadenando sumadores binarios elementales completos.

•Sirve para números en binario puro o en complemento a 2.

+ c e cs s b a + c e cs s b a + c e cs s b a a0 b0 a1 b1 bn-1 an-1 s0 s1 sn-1

...

cn-1 c-1 CPA de n bits + n n A B S cs ce n CPAn n n A B S cs ce n

Construcción de una Unidad Aritmética y Lógica

10

Sumador de acarreo almacenado

SUMADOR DE N BITS CON ACARREO ALMACENADO (CSA: carry save

adder): no propaga los acarreos, y proporciona dos resultados:

•N bits de suma parcial.

•N bits de acarreos (que no se propagan en esta etapa).

CSA de n bits + c e cs s b a + c e cs s b a + c e cs s b a x0 y0 x1 y1 yn-1 xn-1 s0 s1 sn-1

...

z0 z1 c0 zn-1 c1 cn-1 CSAn n n X Z S n C n n Y

(6)

11

Si queremos sumar más de dos datos de nbits podemos usar una matriz de

sumadores elementales con acarreo propagado.

 Pega: el retardo de la suma total es bastante grande.

Matriz de sumadores con acarreo propagado

s5 s0 b0 a0 e0 f0 s1 b1 a1 e1 f1 s2 b2 a2 e2 f2 s3 b3 a3 e3 f3 s4 E F S B A Traditional adder Traditional adder Traditional adder

Construcción de una Unidad Aritmética y Lógica

12

Podemos acelerar el proceso si usamos CSAs.

•Al final se debe incluir una etapa de propagación del acarreo (este paso puede acelerarse con un sumador rápido).

Matriz de sumadores con acarreo almacenado

s4 s3 s2 s1 s0 f0 e0 b0 f1 e1 b1 f2 e2 b2 f3 e3 b3 a0 a1 a2 a3 s5 c'3 s'3 s'4 c'2 s'2 c'1 s'1 c'0 s'0

Carry save adder

E F

B A

Carry save adder

Traditional adder

S C' S'

(7)

13

5. Operación de extensión de signo

 La operación de extensión de signo es distinta dependiendo del sistema de

representación utilizado.

•En binario puro, simplemente se añaden ceros a la izquierda. •En complemento a 1 ó a 2, se replica el bit de signo.

•En magnitud y signo, se intercalan ceros entre el bit de signo y los bits de módulo.

•En exceso a M, la operación suele implicar un cambio en el exceso, aunque si el exceso se mantiene, bastaría con añadir ceros igual que en binario puro.

 Los circuitos para realizar extensión de signo son sumamente sencillos.

Construcción de una Unidad Aritmética y Lógica

14

6. Operación de cambio de signo

La operación de cambio de signo es distinta dependiendo del sistema de representación utilizado.

 En binario puro, esta operación no es posible.

 En complemento a 1 ó a 2, basta con complementar el resultado.

 En magnitud y signo, basta con invertir el bit de signo.

(8)

15

7. Circuitos para restar números binarios

Semirrestador binario Restador binario elemental completo

Restador de N bits con propagación de acarreo en serie

-cs s b a

-

c e cs s b a - c e cs s b a - c e cs s b a - c e cs s b a a0 b0 a1 b1 bn-1 an-1 s0 s1 sn-1

...

cn-1 c-1

Construcción de una Unidad Aritmética y Lógica

16

Circuitos para restar números binarios

Otra opción: hacer una suma del minuendo con el complementario del sustraendo.

 Para complementar el sustraendo, invertimos todos sus bits e introducimos

un 1 en el acarreo de entrada del sumador menos significativo.

 Por este procedimiento también había que invertir el acarreo de salida.

 Esto funciona tanto para binario puro como para complemento a 2 (en

complemento a 2 el acarreo se desprecia, y el desbordamiento se detecta de otro modo). + c e cs s b a + c e cs s b a + c e cs s b a a0 b0 a1 b1 bn-1 an-1 s0 s1 sn-1 cn-1 '1'

(9)

17

8. Circuitos para sumar y restar números binarios

Como se puede sumar y restar con un único sumador, puede diseñarse un único

circuito que realice ambas operaciones en función de una señal de control Op.

•Op = 0: suma. •Op = 1: resta.

Es preciso contar con un circuito que complemente condicionalmente el sustraendo en función de dicha señal Op.

equivale a 1

0 Op

b b

Op

Construcción de una Unidad Aritmética y Lógica

18

Circuito sumador / restador de N bits

Op = 0 OPERACIÓN DE SUMA

Op = 1 OPERACIÓN DE RESTA

Ejercicio: calcular el retardo de los sumadores / restadores de 4, 16 y 32 bits.

+ c e cs s b a + c e cs s b a + c e cs s b a a0b0 a1b1 bn-1 an-1 s0 s1 sn-1

...

C + c e cs s b a sn-1 bn-2 an-2 Op

(10)

19

9. Indicadores de resultado

Otros indicadores usuales son:

 Z: indicador de resultado nulo (Z=1 si el resultado es 0, Z=0 si no). Basta con una NOR de todos los bits del resultado.

 N: indicador de signo (N=1 si el resultado es negativo, N=0 si es positivo ó 0). Es el bit más significativo del resultado.

 V: indicador de desbordamiento (V=1 si hay desbordamiento, V=0 si no).

•En sumas (Op=0), V=1 si An-1 = Bn-1 ≠ Sn-1. •En restas (Op=1), V=1 si An-1 ≠ Bn-1= Sn-1.

•Ambas condiciones se resumen en la expresión V=Cn-1⊕Cn-2

En los circuitos anteriores se ha contemplado el bit de acarreo.

(

) (

Sn-1

)

1 -n B 1 -n A 1 -n S 1 -n B 1 -n A Op 1 -n S 1 -n B 1 -n A 1 -n S 1 -n B 1 -n A Op V= ⋅ ⋅ ⋅ + ⋅ ⋅ + ⋅ ⋅ ⋅ + ⋅ ⋅

Construcción de una Unidad Aritmética y Lógica

20

Sumador / restador con indicadores de resultado

+ c e cs s b a + c e cs s b a + c e cs s b a a0b0 a1b1 bn-1 an-1 s0 s1 sn-1

...

C + c e cs s b a sn-2 bn-2 an-2 V

...

Z Op N

(11)

21

10. Comparaciones

La comparación de dos números se realiza mediante una resta. • El valor del resultado en sí no es relevante.

• Lo que importa son las características del resultado.

• Las características del resultado se pueden analizar mediante los códigos de condición obtenidos tras la resta.

MIPS tiene instrucciones condicionales que realizan una resta entre dos operandos, calculan los códigos de condición y toman una decisión:

1.Scond rdest,rf1,rf2: si rf1 cond rf2 es cierto pone rdesta 1, si no lo pone a 0.

2.Bcondrf1,rf2,etiq: si rf1 cond rf2 es cierto salta a etiq, si no continúa.

3.Bcondrf,etiq: si rf1 cond 0 es cierto salta a etiq, si no continúa.

Otras: BCzT y BCzF testean un flag del coprocesador z (z ∈[0,3]) y ramifican si

corresponde.

Construcción de una Unidad Aritmética y Lógica

22

Condiciones en MIPS

BEQZ EQZ (equal to 0) Igual a 0 BNEZ

NEZ (not equal to 0) Distinto de 0 BCzT Flag(coprocesador z) T Cierto BGTZ ¬N·¬Z GEZ (less or equal than 0)

Mayor que 0 BCzF ¬Flag(coprocesador z) F Falso BLEZ N+Z

LEZ (less or equal than 0) Menor o igual que 0

SGT, BGT

GT (greater than) Mayor que con signo

SGTU, BGTU

HI (higher) Mayor que sin signo

SGEU, BGEU

GEU (greater or equal than unsigned) Mayor o igual que sin signo

SGE, BGE

GE (greater or equal than) Mayor o igual que con signo

SEQ, BEQ Z EQ (equal) Igual que SNE, BNE ¬Z NE (not equal) Distinto a SLEU, BLEU

LEU (less or equal than unsigned) Menor o igual que sin signo

SLE, BLE

LE (less or equal than) Menor o igual que con signo

BLTZ, BLTZAL N LTZ (less than 0) Menor que 0 ¬N C r31·¬V + ¬r31·V Expresión booleana BGEZ, BGEZAL GTZ (less than 0)

Mayor o igual que 0

SLTU, SLTIU, BLTU

LTU (less than unsigned) Menor que sin signo

SLT, SLTI, BLT

LT (less than) Menor que con signo

Instrucciones Nemotécnico

Condición

(12)

23

11. Diseño modular de una UAL

Vamos a acometer el diseño de una UAL reducida para el MIPS con las siguientes operaciones:

 AND lógico

 OR lógico

 Suma aritmética

 Resta aritmética

 Comparación de menor que

La UAL detectará las condiciones de desbordamiento y resultado nulo. La UAL se diseñará en forma modular:

partiendo de una célula elemental de UAL para operandos de 1 bit, construiremos la UAL completa para trabajar con

operandos de 32 bits. ALU Result Zero Overflow a b ALU operation CarryOut

Construcción de una Unidad Aritmética y Lógica

24

UAL de 1 bit (I): operaciones lógicas

 Tiene dos entradas de datos: a y b.

 Es necesaria una entrada de selección de 1 bit por Operation.

 Ofrece un bit de resultado: Result.

b 0 1 Result Operation a

Ejercicio propuesto: calcular el retardo del circuito. a OR b 1 a AND b 0 Result Operation

(13)

25

UAL de 1 bit (II): añadiendo la suma

 A la versión anterior se le añade la operación de suma con un

sumador binario elemental completo.

 Se añade una entrada de datos: el acarreo de entrada (CarryIn).

 Se añade una nueva señal de salida: el acarreo de salida (CarryOut).

 Operation ya tiene 2 bits.

b 0 2 Result Operation a 1 CarryIn CarryOut Ejercicio propuesto: calcular el

retardo del circuito para la operación de suma. a OR b 1 (01) a + b + CarryIn 2 (10) a AND b 0 (00) Result Operation

Construcción de una Unidad Aritmética y Lógica

26

UAL de 32 bits: primera versión

 Se construye uniendo 32 UAL de 1 bit.

Result31 a31 b31 Result0 CarryIn a0 b0 Result1 a1 b1 Result2 a2 b2 Operation ALU0 CarryIn CarryOut ALU1 CarryIn CarryOut ALU2 CarryIn CarryOut ALU31 CarryIn

Ejercicio propuesto: calcular el retardo del circuito para la operación de suma.

(14)

27

UAL de 1 bit (III): añadiendo la resta

 Para añadir la operación de resta es preciso permitir negar el segundo

operando del sumador.

 La señal Binvert es una nueva entrada de control para indicar la operación

realizada (suma o resta).

0 2 Result Operation a 1 CarryIn CarryOut 0 1 Binvert b

Ejercicio propuesto: calcular el retardo del circuito para la

operación de suma o la de resta.

1 0 X X Binvert a + b + CarryIn 2 (10) 2 (10) 1 (01) 0 (00) Operación a OR b a + ¬b + CarryIn a AND b Result

Construcción de una Unidad Aritmética y Lógica

28

UAL de 1 bit (IV): añadiendo slt

 Al añadir la operación de activación si menor se añade la entrada Less, que

contiene el bit resultante de la comprobación de la condición LT: •Lessi = 0 ∀i ∈[1,31].

Less0 = 0 si la condición es falsa, Less0 = 1 si es cierta.

1 1 0 X X Binvert a + ¬b + CarryIn 2 (10) Less 3 (11) a + b + CarryIn 2 (10) 1 (01) 0 (00) Operation a OR b a AND b Result 0 3 Result Operation a 1 CarryIn CarryOut 0 1 Binvert b 2 Less

Para las celdas 1 a 31 de la UAL, Less = 0.

Para la celda 0, por Less entra

(15)

29

Cálculo de la condición LT (less than)

Dos números positivos

(en complemento a 2): 0110 - 0100 0010 A = 6, B = 4: A-B ≥ 0 ⇒ A < B FALSE A = 4, B = 6: A-B < 0 ⇒ A < B TRUE 0100 - 0110 1110

Dos números negativos (en complemento a 2): 1100 - 1010 0010 A = -4, B = -6: A-B ≥ 0 ⇒ A < B FALSE A = -6, B = -4: A-B < 0 ⇒ A < B TRUE 1010 - 1100 1110 Un número positivo y el otro negativo: 0100 - 1110 0110 A = 4, B = -2: A-B ≥ 0 ⇒ A < B FALSE A = -4, B = 2: A-B < 0 ⇒ A < B TRUE 1100 - 0010 1010

Construcción de una Unidad Aritmética y Lógica

30

 Del análisis anterior se deduce que la condición LT se puede evaluar mediante

una resta, de la cual sólo nos interesará el signo del resultado: •Si el resultado es positivo o 0, la condición es FALSA. •Si el resultado es negativo, la condición es CIERTA.

 Dicho signo se puede obtener de la celda UAL que opera con la pareja de bits

más significativos (ALU31):

Set = s31 donde:

•Set: señal de evaluación de la condición LT (1 si cierta, 0 si falsa). •s31: salida del sumador de ALU31 (1 si negativo, 0 si positivo o nulo).

 De la celda ALU31 también se puede obtener la condición de desbordamiento:

Cálculo de la condición LT (less than)

(

)

(

sn-1

)

1 -n b 1 -n a 1 -n s 1 -n b 1 -n a Binvert 1 -n s 1 -n b 1 -n a 1 -n s 1 -n b 1 -n a Binvert Overflow ⋅ ⋅ + ⋅ ⋅ ⋅ + + ⋅ ⋅ + ⋅ ⋅ ⋅ =

(16)

31

UAL de 1 bit (IV): celda más significativa

El bit más significativo exige entonces una celda UAL especial:

 Se añade un circuito para detectar la

posible existencia de desbordamiento.

 La salida Set indica el resultado de la

condición LT.

Set irá a la entrada Less de la UAL

del bit 0.

¡CUIDADO!

Si hay desbordamiento en la resta, ¿la condición LT está bien evaluada?

0 3 Result Operation a 1 CarryIn 0 1 Binvert b 2 Less Set Overflow detection Overflow

Construcción de una Unidad Aritmética y Lógica

32

 Analizando casos de resta con desbordamiento, se observa lo siguiente:

Cálculo de la condición LT (less than)

0110 - 1100 1010 V = 1 A = 6, B = -4: A-B ≥ 0 ⇒ A < B FALSE ¡y la resta da resultado negativo! A = -6, B = 4: A-B < 0 ⇒ A < B TRUE ¡y la resta da resultado positivo! 1010 - 0100 0110 V = 1

 La condición LT para números en complemento a 2 debe considerar el signo

del resultado de la resta y el valor del flag de desbordamiento (ver transparencia

22 con tabla de condiciones):

(17)

33

UAL de 32 bits: segunda versión

 Se construye uniendo 32 UAL de 1 bit,

recordando que la del bit más

significativo es distinta de las demás.

Set a31 0 ALU0 Result0 CarryIn a0 Result1 a1 0 Result2 a2 0 Operation b31 b0 b1 b2 Result31 Overflow Binvert CarryIn Less CarryIn CarryOut ALU1 Less CarryIn CarryOut ALU2 Less CarryIn CarryOut ALU31 Less CarryIn

Ejercicio propuesto: calcular el retardo del circuito para las siguientes operaciones:

add o sub. •or o and. •slt.

Construcción de una Unidad Aritmética y Lógica

34

UAL de 32 bits: tercera versión

 Bnegate = CarryIn (suma/resta

en complemento a 2)

 Añadido código de condición Z.

 Operationy Bnegate: señales de

control de la UAL (3 bits).

Set a31 0 Result0 a0 Result1 a1 0 Result2 a2 0 Operation b31 b0 b1 b2 Result31 Overflow Bnegate Zero ALU0 Less CarryIn CarryOut ALU1 Less CarryIn CarryOut ALU2 Less CarryIn CarryOut ALU31 Less CarryIn 1 1 0 X X Bnegate a + ¬b + 1 ⇒ a - b 2 (10) Less 3 (11) a + b 2 (10) 1 (01) 0 (00) Operation a OR b a AND b Result

(18)

35

12. Anticipación de acarreo

El sumador con propagación de acarreo en serie es muy lento ⇒ es muy

importante acelerar su funcionamiento.

 Nos basaremos en el enfoque de la anticipación de acarreo.

Ecuaciones del sumador binario elemental completo:

+ ce cs s b a Para el bit 0: Para el bit 1:

En realidad no haría falta propagar los acarreos, pero las ecuaciones se complican enormemente al incrementar el número de bits.

cs= a·b + (a⊕b)·ce s = a ⊕b ⊕ ce c0 = a0·b0 + (a0⊕b0)·c-1 s0 = a0 ⊕b0 ⊕ c-1 c1 = a1·b1 + (a1⊕b1)·c0 = a1·b1 + (a1⊕b1)·[a0·b0 + (a0⊕b0)·c-1] s1 = a1 ⊕b1 ⊕ c0 = a1 ⊕b1 ⊕[a0·b0 + (a0⊕b0)·c-1]

Construcción de una Unidad Aritmética y Lógica

36

Anticipación de acarreo

Es posible definir dos funciones:

 gi: vale 1 si la pareja de bits ai y bi generan acarreo ⇒ gi= ai · bi

 pi: vale 1 si la pareja de bits ai y bi pueden propagar un acarreo procedente de una pareja de bits anterior ⇒ pi= ai ⊕ bi

Entonces: ci = ai·bi + (ai⊕bi)·ci-1 = gi + (ai⊕bi) · ci-1 si = ai ⊕ bi ⊕ci-1= pi⊕ ci-1

Si conseguimos construir un circuito aparte que se encargue de calcular los acarreos, el sumador elemental es más sencillo, ya que proporciona como salida sólo los bits si, gi y pi.

a

i

g

i

p

i

b

i

c

i-1

s

i

+

ce g b a s p

+

c e s b a g p

(19)

37

Anticipación de acarreo

El circuito que calcule los acarreos materializará las siguientes funciones lógicas: c0 = g0 + p0· c-1

c1 = g1 + p1·c0 = g1 + p1·[g0 + p0·c-1] = g1 + p1· g0 + p1· p0 · c-1

c2 = g2 + p2·c1 = g2 + p2·[g1 + p1·g0 + p1·p0·c-1] = g2 + p2·g1 + p2·p1·g0 + p2·p1·p0·c-1 c3 = g3 + p3·c2 = g3 + p3·[g2 + p2·g1 + p2·p1·g0 + p2·p1·p0·c-1] =

= g3 + p3·g2 + p3·p2·g1 + p3·p2·p1·g0 + p3·p2·p1·p0·c-1

Sobre la expresión de c3 podemos definir sendas funciones G y P de generación y

propagación de acarreo en un bloque de cuatro bits: •G = g3 + p3·g2 + p3·p2·g1 + p3·p2·p1·g0

•P = p3·p2·p1·p0

Y entonces la expresión de c3 queda así:

c3 = g3 + p3·g2 + p3·p2·g1 + p3·p2·p1·g0 + p3·p2·p1·p0·c-1 = G + P · c-1

Construcción de una Unidad Aritmética y Lógica

38

Anticipación de acarreo

De este modo podemos definir un bloque de anticipación de acarreo de 4 bits que recibirá como entradas {gi}i=0...3, {pi}i=0...3 y c-1 y tendrá como salidas c0, c1, c2, G y P.

•Las fórmulas de un módulo de anticipación de acarreo para más de 4 bits se complican mucho y dejan de ser viables.

•El módulo de 4 bits será conectable en cascada para formar anticipadores de acarreo en varios niveles jerárquicos.

3 2 2 1 1

3 0 0

-1 1

(20)

39

Circuito anticipador de acarreo de 4 bits

Ejercicio: añadir la salida c3 al circuito.

c-1 G P g3 p2 g2 p1 g1 p3 p0 g0 c1 c2 c0

Construcción de una Unidad Aritmética y Lógica

40

Anticipación de acarreo

La anticipación de acarreo se puede realizar en forma jerárquica, gracias a las salidas G*

y P* del anticipador.

Figura: UAL de 16 bits con dos niveles de anticipación de acarreo.

•Cada UAL de 4 bits contiene una unidad de anticipación de acarreo, y genera 4 bits de resultado, Pi y Gi.

•El segundo nivel de anticipación calcula los acarreos de entrada de las UAL 1, 2 y 3.

CarryIn Result0--3 ALU0 CarryIn Result4--7 ALU1 CarryIn Result8--11 ALU2 CarryIn CarryOut Result12--15 ALU3 CarryIn C1 C2 C3 C4 P0 G0 P1 G1 P2 G2 P3 G3 pi gi pi + 1 gi + 1 ci + 1 ci + 2 ci + 3 ci + 4 pi + 2 gi + 2 pi + 3 gi + 3 a0 b0 a1 b1 a2 b2 a3 b3 a4 b4 a5 b5 a6 b6 a7 b7 a8 b8 a9 b9 a10 b10 a11 b11 a12 b12 a13 b13 a14 b14 a15 b15 Carry-lookahead unit

Referencias

Documento similar

de se convertir en chaux par la calcination- L a formation de ces pierres nous paroît due, en grande partie , au détritus des coquillages : Tidentité des

where they also outperformed the state-of-the-art using a CNN, they introduced a new approach for recognition with limited training data, in which they used multi-view

In the limit c → ∞ , the sgoldstino becomes infinitely heavy and the resulting theory is equivalent to nonlin- early realized supersymmetry with a nilpotent goldstino multi- plet

- El aprendizaje de las TIC mediante el Sistema de Formación BIT me- jora las puntuaciones obtenidas por personas con síndrome de Down y/o discapacidad intelectual en

Especialización de la demanda y germinación desde la raíz Ya se mencionó que la oferta de software específico para el trabajo en atención a la diversidad suele ser menos amplia que

The Global Compact for Safe, Orderly and Regular Migration (Global Compact for Migration hereinafter) has been considered the first instrument to comprehensively address all

The government committed to offering US$ 130 million in international development assistance to help LICs tackle NCDs, including cancer, heart diseases, respiratory diseases,

[r]