Unidad aritmético-lógica

Slides:



Advertisements
Presentaciones similares
Datapath para las instrucciones aritméticas y lógicas
Advertisements

Datapath DLX.
Circuitos Combinacionales Comunes
Unidad aritmético-lógica
Aritmética y Computadores. Refresco de aritmética binaria. Operaciones aritméticas y lógicas. Construcción de una ALU para MIPS. Multiplicación y División.
El procesador Creando un solo datapath. Universidad de SonoraArquitectura de Computadoras2 Introducción 1. Crear un solo datapath a partir de los datapaths.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 11.
CLASE 13.
El procesador Diseño del control.
Organización del Computador 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 2004 Profesora Borensztejn.
Compuertas lógicas INTRODUCCION
ARQUITECTURA DE COMPUTADORES
UNIDAD 2. DISEÑO LÓGICO DE PROCESADORES: UNIDAD ARITMÉTICO-LÓGICA Ing. Elizabeth Guerrero V.
Arquitecturas de Computadoras Capitulo 2 Aritmética de enteros.
Arquitectura de Computadores Clase 2 Algebra Booleana y Número Binarios IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile.
[ Arquitectura de Computadores ] SISTEMAS DIGITALES Präsentat ion Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia.
Copyright © 2011, 2007, 2004, 2001, 1998 by Pearson Education, Inc. Upper Saddle River, New Jersey All rights reserved Introducción al Diseño Lógico.
LAS COMPUERTAS LOGICAS Y SUS TABLAS DE VERDAD POR JULIAN ARANGO ARANGO.
LA UNIDAD ARITMETICO LOGICA ALU. Introducción Los dos aspectos fundamentales de la aritmética del computador son: La forma de representar las números,
Objetivos Cómo ejecuta el hardware las operaciones básicas (suma, resta, división y multiplicación). Qué pasa si una operación genera un número más grande.
Arquitectura de Computadores Clases 7-10 Diseño de una CPU Básica IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela.
El procesador Datapath y control. Universidad de SonoraArquitectura de Computadoras2 Introducción En esta parte del curso contiene: Las principales técnicas.
Organización del Computador 1 Lógica Digital 1 Algebra de Boole y compuertas.
Calculadora programada con Scratch
Internet Protocols (IPs)
Lenguaje ensamblador MIPS
Representación de números en binario
TERMINOLOGÍA BÁSICA Informática: conjunto de conocimientos científicos y técnicas que hacen posible el tratamiento automático y racional de la información,
Organización de computadoras
Aritmética en computadora
Pipelining Peligros de control.
Pipeline: Peligros de datos
El procesador Diseño del control.
Circuitos combinacionales II
Superescalares Scheduling estático.
Pipelining Datapath y control.
Arquitecturas de Computadoras
Datapath para las instrucciones aritméticas y lógicas
Datapath para las instrucciones de brinco
Excepciones e interrupciones
Miguel Otoya Fabian Porras Gabriel Quesada Fabrizio Vegas Eduardo
Organización del Computador
Titulación: Grado en Ingeniería de Computadores
Datapath para las instrucciones de carga y almacenamiento (load/store)
Variables y operadores lógicos
ARQUITECTURA DE HARD WARE COMPONENTES EN BLOQUES DEL PROCESADOR
Compuertas Lógicas
Computación Curso 2017.
Creando un solo datapath
Tema 4 Elementos para el Desarrollo de Algoritmos
Pipelining Introducción.
Aritmética binaria.
JAVIER ANDRES MARTÀ MARTINEZ CODIGO 37772
En VHDL existen tres tipos de declaraciones concurrentes;
TECNOLOGÍA DE EQUIPOS INFORMÁTICOS
Daniel Guàqueta código:37835 jonhattan gavilan código :39266
Modelo de Von Neumman U.A.C.M Alejandra Andrade.
8. Diseño del Procesador Fundamentos de los Computadores
Pipeline: Peligros de datos
Pipelining Peligros de control.
Orden de Operaciones Maestro: Samuel Vélez.
Centro Universitario UAEM Ecatepec
Arquitectura de ordenadores
Operaciones combinadas
Eduardo Cruz Pérez.
El procesador Datapath y control.
Pipelining Peligros de control.
Transcripción de la presentación:

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

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

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

Compuertas básicas Universidad de Sonora Arquitectura de Computadoras

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

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

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

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

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

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

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

Sumador completo Universidad de Sonora Arquitectura de Computadoras

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

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

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

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

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

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

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

ALU de 1 bit Universidad de Sonora Arquitectura de Computadoras

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

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

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

ALU de 1 bit Universidad de Sonora Arquitectura de Computadoras

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

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

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

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

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

ALU de 32 bits Universidad de Sonora Arquitectura de Computadoras

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

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

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

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

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

ALU para el bit 31 Universidad de Sonora Arquitectura de Computadoras

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

ALU de 32 bits Universidad de Sonora Arquitectura de Computadoras

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

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

ALU para MIPS Universidad de Sonora Arquitectura de Computadoras

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

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