Está en la página 1de 30

ALU

Unidad aritmético-lógica
Definición
 La ALU (unidad aritmético-lógica) es el dispositivo
que se encarga de realizar:
a) Operaciones aritméticas (suma, resta, otras).
b) Operaciones lógicas (and, or, xor, otras).

Universidad de Sonora Arquitectura de Computadoras 2


Circuitos combinatorios
 Su salida depende exclusivamente de sus entradas.

Universidad de Sonora Arquitectura de Computadoras 3


Compuertas básicas

Universidad de Sonora Arquitectura de Computadoras 4


Compuertas básicas
AND OR
A B A·B A B A+B
0 0 0 0 0 0
0 1 0 0 1 1
1 0 0 1 0 1
1 1 1 1 1 1

NOT
A Ā
0 1
1 0
Universidad de Sonora Arquitectura de Computadoras 5
Otras compuertas
 XOR (or exclusiv0).
 NAND (not AND).
 NOR (not OR).

Universidad de Sonora Arquitectura de Computadoras 6


Multiplexor
 El multiplexor (mux) tiene 2n entradas de datos, n bits
de selección y una salida.
 Los bits de selección se usan para decidir cuál entrada
pasa a la salida.
 Mux 2 a 1

Universidad de Sonora Arquitectura de Computadoras 7


Multiplexor
 Mux 4 a 1

 Mux 8 a 1

Universidad de Sonora Arquitectura de Computadoras 8


Sumador completo
 Sumador completo (full adder) de 1 bit:
 Entradas: dos números de 1 bit y un bit de carry de
entrada.
 Salidas: la suma de 1 bit y un bit de carry de salida.

Universidad de Sonora Arquitectura de Computadoras 9


Sumador completo

Universidad de Sonora Arquitectura de Computadoras 10


Sumador completo
 Suma = a  b  CarryIn
 CarryOut = (a · CarryIn) + (b · CarryIn) + (a · b)
= (a + b) · CarryIn + (a · b)

Universidad de Sonora Arquitectura de Computadoras 11


Sumador completo
 Diagrama a bloque.

Universidad de Sonora Arquitectura de Computadoras 12


ALU de 1 bit
 Dos operaciones: AND y OR.
 Un bit para seleccionar la operación.

Operación Salida

0 a·b

1 a+b

Universidad de Sonora Arquitectura de Computadoras 13


Agregando operaciones
 El siguiente paso es agregar la suma.
 Se agrega un sumador completo al diseño anterior.

Universidad de Sonora Arquitectura de Computadoras 14


ALU de 1 bit
 3 operaciones: AND, OR y suma.
 2 bits para seleccionar la operación.

Operación Resultado CarryOut


00 a·b X

01 a+b X

10 ab (a + b) · CarryIn +
CarryIn (a · b)
11 X X

Universidad de Sonora Arquitectura de Computadoras 15


Agregando operaciones
 Agregar la resta a – b.
 a – b  a + b si b está en complemento a 2.
 El complemento a dos de b se encuentra sumando 1 al
complemento a uno de b.
 El complemento a uno de b se encuentra negando a b.
 a – b = a + (–b) = a + (¬b + 1) = a + ¬b + 1
 El 1 de la suma viene en CarryIn.

Universidad de Sonora Arquitectura de Computadoras 16


ALU de 1 bit
 4 operaciones: AND, OR, suma y resta.
 2 bits para seleccionar la operación.
 Un bit extra para diferenciar entre la suma y la resta.
 En la resta, CarryIn es 1.

Universidad de Sonora Arquitectura de Computadoras 17


ALU de 1 bit

Universidad de Sonora Arquitectura de Computadoras 18


ALU de 1 bit
Operación Binvert CarryIn Resultado CarryOut
00 X X a·b X
01 0 X a+b X
10 0 0 a  b  CarryIn (a + b) · CarryIn +
(a · b)
10 1 X X X
10 1 1 ab a + ¬b
11 X X X X

Universidad de Sonora Arquitectura de Computadoras 19


Agregando operaciones
 Agregar la operación NOR:
 ¬(a + b)
 Ley de DeMorgan:
 ¬(a + b) = ¬a · ¬b
 La ALU ya puede calcular a · b y ¬b.
 Hace falta poder calcular ¬a.

Universidad de Sonora Arquitectura de Computadoras 20


ALU de 1 bit
 5 operaciones: AND, OR, NOR, suma y resta.
 2 bits para seleccionar la operación.
 Binvert diferencia entre la suma y la resta.
 En la resta, CarryIn es 1.
 Ainvert y Binvert diferencian entre AND y NOR.

Universidad de Sonora Arquitectura de Computadoras 21


ALU de 1 bit

Universidad de Sonora Arquitectura de Computadoras 22


ALU de 1 bit
Operación Ainvert Binvert CarryIn Resultado CarryOut

00 0 0 X a·b X

00 1 1 X ¬a · ¬b X

01 0 0 X a+b X

10 0 0 0 ab (a + b) · CarryIn +
CarryIn (a · b)
10 0 1 X X X

10 0 1 1 ab a + ¬b

11 X X X X X

Universidad de Sonora Arquitectura de Computadoras 23


Agregando operaciones
 Variando Ainvert y Binvert permite generar:
 8 operaciones lógicas.
 5 operaciones aritméticas.

Universidad de Sonora Arquitectura de Computadoras 24


Agregando operaciones
Operación Ainvert Binvert CarryIn Resultado CarryOut

00 0 0 X a·b X
00 0 1 X a · ¬b X
00 1 0 X ¬a · b X
00 1 1 X ¬a · ¬b X
01 0 0 X a+b X
01 0 1 X a + ¬b X
01 1 0 X ¬a + b X
01 1 1 X ¬a + ¬b X
Universidad de Sonora Arquitectura de Computadoras 25
Agregando operaciones
Operación Ainvert Binvert CarryIn Función
aritmética
10 0 0 0 a+b

10 0 0 1 a+b+1

10 0 1 1 a-b

10 1 0 1 b-a

10 1 1 1 -a - b

Universidad de Sonora Arquitectura de Computadoras 26


ORGANIZANDO Y CAMBIANDO NOMBRES
Operación = S3, S2 ; Ainvert = S1 ;
Binvert = S0
S3 S2 S1 S0 CarryIn Resultad CarryOut
o
0 0 0 0 X a·b X
0 0 0 1 X a · ¬b X
0 0 1 0 X ¬a · b X
0 0 1 1 X ¬a · ¬b X
0 1 0 0 X a+b X
0 1 0 1 X a + ¬b X
0 1 1 0 X ¬a + b X
0 1 1 1 X ¬a + ¬b X
Universidad de Sonora Arquitectura de Computadoras 27
ORGANIZANDO Y CAMBIANDO NOMBRES
Operación = S3, S2 ; Ainvert = S1 ;
Binvert = S0
S3 S2 S1 S0 CarryIn Función
aritmétic
a
1 0 0 0 0 a+b

1 0 0 0 1 a+b+1

1 0 0 1 1 a-b

1 0 1 0 1 b-a

1 0 1 1 1 -a - b

Universidad de Sonora Arquitectura de Computadoras 28


ALU de 32 bits
 ¿Cómo se genera una ALU de 32 bits?
 Con 32 ALUs de 1 bit.
 CarryOut de la ALUi se conecta a CarryIn de la ALUi+1.
 En la resta CarryIn ALU0 se conecta a 1.

Universidad de Sonora Arquitectura de Computadoras 29


ALU de 32 bits

Universidad de Sonora Arquitectura de Computadoras 30

También podría gustarte