La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Unidad aritmético-lógica

Presentaciones similares


Presentación del tema: "Unidad aritmético-lógica"— Transcripción de la presentación:

1 Unidad aritmético-lógica
ALU Unidad aritmético-lógica

2 Definición La ALU (unidad aritmético-lógica) es el dispositivo que se encarga de realizar: Operaciones aritméticas (suma, resta, etc.). Operaciones lógicas (and, or, xor, etc.). Universidad de Sonora Arquitectura de Computadoras

3 Circuitos combinatorios
Su salida depende exclusivamente de sus entradas. Universidad de Sonora Arquitectura de Computadoras

4 Compuertas básicas Universidad de Sonora Arquitectura de Computadoras

5 Compuertas básicas AND A B A · B 1 OR A B A + B 1 NOT A Ā 1
1 OR A B A + B 1 NOT A Ā 1 Universidad de Sonora Arquitectura de Computadoras

6 Otras compuertas XOR (or exclusiv0). EQV (equivalence).
NAND (not AND). NOR (not OR). Universidad de Sonora Arquitectura de Computadoras

7 Otras compuertas XOR A B A XOR B 1 EQV A B A EQV B 1
1 EQV A B A EQV B 1 Universidad de Sonora Arquitectura de Computadoras 7

8 Otras compuertas NAND A B A NAND B 1 NOR A B A NOR B 1
1 NOR A B A NOR B 1 Universidad de Sonora Arquitectura de Computadoras 8

9 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

10 Multiplexor Mux 4 a 1 Mux 8 a 1 Universidad de Sonora
Arquitectura de Computadoras

11 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

12 Sumador completo Universidad de Sonora Arquitectura de Computadoras

13 Sumador completo Suma = a  b  CarryIn
CarryOut = (a · CarryIn) + (b · CarryIn) + (a · b) = (a + b) · CarryIn + (a · b) Universidad de Sonora Arquitectura de Computadoras

14 Sumador completo Diagrama a bloque. Universidad de Sonora
Arquitectura de Computadoras

15 ALU de 1 bit Dos operaciones: AND y OR.
Un bit para seleccionar la operación. Operación Salida a · b 1 a + b Universidad de Sonora Arquitectura de Computadoras

16 Agregando operaciones
El siguiente paso es agregar la suma. Se agrega un sumador completo al diseño anterior. Universidad de Sonora Arquitectura de Computadoras

17 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 10 a  b  CarryIn (a + b) · CarryIn + (a · b) 11 Universidad de Sonora Arquitectura de Computadoras

18 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

19 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

20 ALU de 1 bit Universidad de Sonora Arquitectura de Computadoras

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

22 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

23 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

24 ALU de 1 bit Universidad de Sonora Arquitectura de Computadoras

25 ALU de 1 bit Operación Ainvert Binvert CarryIn Resultado CarryOut 00 X
X a · b 1 ¬a · ¬b 01 a + b 10 a  b  CarryIn (a + b) · CarryIn + (a · b) a  b a + ¬b 11 Universidad de Sonora Arquitectura de Computadoras

26 Agregando operaciones
Variando Ainvert y Binvert permite generar: 8 operaciones lógicas. 5 operaciones aritméticas. Universidad de Sonora Arquitectura de Computadoras

27 Agregando operaciones
Operación Ainvert Binvert CarryIn Resultado CarryOut 00 X a · b 1 a · ¬b ¬a · b ¬a · ¬b 01 a + b a + ¬b ¬a + b ¬a + ¬b Universidad de Sonora Arquitectura de Computadoras

28 Agregando operaciones
Operación Ainvert Binvert CarryIn Función aritmética 10 a + b 1 a + b + 1 a - b b - a -a - b Universidad de Sonora Arquitectura de Computadoras

29 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

30 ALU de 32 bits Universidad de Sonora Arquitectura de Computadoras

31 ALU para MIPS El diseño de la ALU está incompleto.
La mayoría de las instrucciones de MIPS pueden ser realizadas con las operaciones AND, OR, suma y resta. Se necesita soportar la instrucción slt (set on less than). slt $x, $y, $z guarda 1 en $x si $y < $z y 0 en otro caso. Universidad de Sonora Arquitectura de Computadoras

32 Soportando slt slt $x, $y, $z pone a ceros los bits 1 a 31 de $x.
El bit 0 de $x tiene el resultado de la comparación de $y y $z. 31 30 1 $y < $z $x Universidad de Sonora Arquitectura de Computadoras

33 Soportando slt Se calcula t = $y - $z. Si t es negativo $y < $z.
Si t es positivo o cero $y  $z. En MIPS los números negativos tienen 1 en el bit 31. El bit 31 de t tiene el resultado de la comparación. Universidad de Sonora Arquitectura de Computadoras

34 Soportando slt Para hacer una ALU de 32 bits se consideran dos tipos de ALU distintos. Una para los bits del 0 al 30. Parecida al diseño anterior, tiene una entrada extra llamada Less. Otra para el bit 31. Además de la entrada Less, tiene una salida Set con el signo de la resta y un detector de overflow. Universidad de Sonora Arquitectura de Computadoras

35 ALU para los bits 0 al 30 Universidad de Sonora
Arquitectura de Computadoras

36 ALU para el bit 31 Universidad de Sonora Arquitectura de Computadoras

37 ALU de 32 bits Se conectan las 32 ALUs.
CarryOut de la ALUi se conecta a CarryIn de la ALUi+1. Las entradas Less de la ALU1 a la ALU31 se ponen a 0. La entrada Less de la ALU0 se conecta a la salida Set de la ALU31. En la resta CarryIn de la ALU0 se conecta a 1. Universidad de Sonora Arquitectura de Computadoras

38 ALU de 32 bits Universidad de Sonora Arquitectura de Computadoras

39 ALU para MIPS Falta soportar los brincos condicionales.
beq $x, $y, L – brinca a L si $x = $y. bne $x, $y, L – brinca a L si $x  $y. Se calcula t = $x - $y. Si t es cero, $x = $y. Si t no es cero, $x  $y. Universidad de Sonora Arquitectura de Computadoras

40 ALU para MIPS Se agrega una salida Zero que detecte cuando todos los bits de resultado sean cero. Zero = ¬(Result31 + Result30 + … + Result1 + Result0) Se combinan la entradas Binvert y CarryIn de la ALU0 con el nombre Bnegate. Binvert = CarryIn = 1 cuando hay que restar. Binvert = CarryIn = 0 en la suma y operaciones lógicas. Universidad de Sonora Arquitectura de Computadoras

41 ALU para MIPS Universidad de Sonora Arquitectura de Computadoras

42 Diagrama y tabla de la ALU
Líneas de control Función C3 C2 C1 C0 AND 1 OR suma resta set on less than NOR C3 = Ainvert C2 = Bnegate Universidad de Sonora Arquitectura de Computadoras

43 Overflow en MIPS El overflow se presenta cuando el resultado de una operación no se puede representar con 32 bits. En MIPS hay dos clases de instrucciones aritméticas: La suma (add), suma inmediata (addi) y resta (sub), reconocen el overflow. La suma sin signo (addu), suma inmediata sin signo (addiu) y resta sin signo (subu), ignoran el overflow. Universidad de Sonora Arquitectura de Computadoras


Descargar ppt "Unidad aritmético-lógica"

Presentaciones similares


Anuncios Google