UNIDAD ARITMÉTICO-LÓGICAARITMÉTICO-LÓGICA
1
� ALU: Parte del computador donde se realizan las operaciones aritméticas y lógicas.
� Las otras unidades le proporcionan datos (que le llegan en forma de registros)
� ALU opera y les devuelve el resultado (también a través de � ALU opera y les devuelve el resultado (también a través de registros)
� Cuando termina activa una serie de indicadores que pueden ser usados por la unidad de control.
2
� Recibe dos números X e Y
� De n bits cada uno.
� Produce un resultado de nnnn+1 bits.
� Compromiso entre velocidad y coste.
� Forma más rápida � circuito combinacional de dos niveles (AND-OR).� Forma más rápida � circuito combinacional de dos niveles (AND-OR).
� Pero para valores moderados de n se necesitan demasiadas puertas lógicas y es inviable.
� Por tanto hay que usar técnicas más lentas pero menos costosas.
� Se divide el problema en otros mas sencillos � Suma de dos números de n bits, en n sumas de 1 bit.
� Cada suma necesitará del acarreo de la suma anterior.
3
� Circuito aritmético más sencillo.
� Tiene dos entradas y dos salidas.
� Se pueden ver construir distintas realizaciones dependiendo de las puertas lógicas de que dependiendo de las puertas lógicas de que dispongamos.
4
5
6
� Tiene una entrada más correspondiente al arrastre de la etapa anterior.
� Esto nos permitirá encadenar n SBC para obtener suma de números de n bits.
� Además de con los circuitos de puertas lógicas vistos � Además de con los circuitos de puertas lógicas vistos anteriormente, se puede realizar con dos SSB’s conectados en cascada pero el circuito obtenido es más lento.
7
8
9
� Usa un SBC de un bit.
� Se van sumando uno a uno los bit Xi e Yi del mismo peso comenzando por los menos significativos.
� Se incluye un retardo unitario para retener el arrastre hasta el intervalo siguiente.
� Se almacena el resultado en un registro.
� La complejidad del circuito es independiente del número de bits a sumar.La complejidad del circuito es independiente del número de bits a sumar.La complejidad del circuito es independiente del número de bits a sumar.La complejidad del circuito es independiente del número de bits a sumar.
� En cambio el tiempo crece linealmente con n.En cambio el tiempo crece linealmente con n.En cambio el tiempo crece linealmente con n.En cambio el tiempo crece linealmente con n.
10
� Producen la suma de n bits de forma más rápida que los sumadores binarios serie.
� Son una cadena de SBC’s en las que se introducen en paralelo los operandos.
� Hay que tener en cuenta el tiempo de la propagación del arrastre.
� Si t el tiempo de propagación de un arrastre, el resultado no está disponible hasta nt
� Por tanto, el retardo depende linealmente de n.
� Se pueden conseguir sumadores más rápidos con circuitos que emplean más puertas lógicas y mayor número de entradas.
11
� Para sumar números negativos en función de su representación.
� Forma más sencilla en complemento a 2:� Sustituir todos los bits por su complemento� Sumar 1 al número restante
� Según sea M el circuito es sumador (M=0) o restador (M=1)
� Cuando restador:� M=1 ⊕ Y equivale al complemento de Yi� M=1 ⊕ Yi equivale al complemento de Yi� C-1=1 por tanto le estamos sumando 1 para complementar.
� Cuando se suman números sin signo el arrastre de la última etapa sirve como indicador de rebose. � importante detectar el rebose para poder decidir qué hacer con él.
12
� Cuando se desea acelerar la suma � mayor problema la aceleración del arrastre.
� Estrategias posibles:� Aceptación de la existencia de los arrates � se diseña el sumador
con el retardo necesario. � lo que hemos visto en el apartado anterior.anterior.
� Anticipación del arrate � circuitería extra.� Suma condicional � Producen el arrastre en Ο(log2n)� Detección de la finalización del arrastre � Circuito adicional que
detecta cuando ha finalizado el último arrastre. En ese momento las salidas del sumador son las buenas.
� Minimización del número de arrastres� Arrastre almacenado.
� Nosotros vamos a ver solo la anticipación de arrastre.
13
� Características de los arrastres: Características de los arrastres: Características de los arrastres: Características de los arrastres: ◦ Arrastre Ci se genera si Xi+Yi>1◦ Un arrastre que viene de i-1 se propagará en i solo si Xi+Yi=1
� Sumador con anticipación de arrastre:Sumador con anticipación de arrastre:Sumador con anticipación de arrastre:Sumador con anticipación de arrastre:◦ Forma más extendida para diseñar sumadores de alta velocidad.◦ Objetivo � reducir el tiempo de la propagación del arrastre de los
SBC’sSBC’s◦ Para ello genera la entrada del arrastre i-esimo a partir de los bits
entrada a las etapas precedentes (i-1, i-2,…0)◦ En la etapa i, se produce arrastre Ci si:
� La etapa i lo genera� La etapa i-k (k=1,2,…i) lo genera y las etapas de i-k+1 hasta i lo propagan.� Hay una arrastre inicial y todas las etapas lo propagan.
◦ Se puede ver el ejemplo de circuito en la página 201.
14
� Son más complejos que los binarios.
� Hay que añadir unos circuitos de corrección.
La suma BCD con sumador binario es correcta � La suma BCD con sumador binario es correcta si resultado es <10
� Incorrecta si >10 � habrá que corregirla �corrección es añadir 6 al resultado anterior. � produciéndose un acarreo.
15
� N sumadores en paralelo
� El arrastre de cada uno se conecta al siguiente.
16
� Los dígitos de aplican de forma serie a un único sumador BCD
� Bits de cada dígito se transfieren al sumador en paralelo
17
� La de menor coste.
� Bits se desplazan de 1 en 1 por un SBC
� Suma binaria obtenida tras cuatro desplazamientos habrá que corregirla (si es >10 se le suma 6 y hay acarreo.
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36