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.

Slides:



Advertisements
Presentaciones similares
Org. y Arquitectura del Computador
Advertisements

Equipo #3 Unidad III: ALU Efraín Corral Eduardo Castillo Elías Alarcón
DISEÑO DE TRANSFERENCIA ENTRE REGISTROS
Fundamentos de Computadores Tema 8 La ALU de enteros y la aritmética de coma flotante.
CIRCUITOS COMBINACIONALES
Prof. Edgardo Vargas Moya
Funciones lógicas Tema 4.
Datapath para las instrucciones aritméticas y lógicas
El Microprocesador.
Modelos de Circuitos Secuenciales: Mealy y Moore
LA UNIDAD ARITMÉTICA Y LÓGICA
El procesador: la ruta de datos y el control (II Parte)
CLASE 6.
NIVEL DE LENGUAJES ORIENTADOS A PROBLEMAS NIVEL DE LENGUAJE ENSAMBLADOR NIVEL DE MAQUINA DEL SISTEMA OPERATIVO NIVEL DE MICROPROGRAMACIÓN NIVEL DE LÓGICA.
Unidad aritmético-lógica
1. Algoritmo 2. Arquitectura 3. Implementación 4. Conclusiones  IMPLEMENTACIÓN VLSI DEL ALGORITMO CORDIC EN MODO VECTORIZACIÓN UTILIZANDO RADIX ALTO 
Circuitos Secuenciales
Circuitos Combinacionales Comunes
Unidad aritmético-lógica
Unidades aritmético lógicas
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.
Arquitectura del Computador
Sistemas de Numeración
Electrónica Digital Unidad 3
Organización del Computador I Verano Aritmética (1 de 3) Basado en el capítulo 4 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.
Unidad III Elementos del lenguaje C++
Módulos combinacionales básicos
Organización del Computador I Verano MIPS (1 de 2) Basado en el capítulo 3 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
TEMA 5. MÓDULOS ARITMÉTICOS AVANZADOS
Codificador de convolución
Transformación de los Datos en Información leCCI Ó N 7.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 13.
MÁQUINAS MULTINIVEL NIVEL 5 Lenguajes de alto nivel
Tema 2 LÓGICA COMBINACIONAL (I): FUNCIONES ARITMÉTICO-LÓGICAS (Tema 5 del libro)
Microcomputadores Prof: Tatiana Marín R.. Lenguaje máquina = lenguaje binario InstrucciónLenguaje máquina (binario)OP ( hex)Nemónico Restar F0SUB.
Introducción Electrónica Digital
Unidad aritmético-lógica
[ Arquitectura de Computadores ] SISTEMAS DIGITALES
Diseño Lógico Combinacional con VHDL
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 11.
“Organización y Arquitectura de Computadores” William Stallings
Organización del Computador I Verano Aritmética (3 de 3) Basado en el capítulo 4 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
CLASE 5.
El procesador Diseño del control.
Diseño del procesador uniciclo
CLASE 14.
LA UNIDAD ARITMÉTICA Y LÓGICA
Capítulo 4 CPU y la memoria.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 20 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
Organización del Computador 1
Organización del Computador I Verano Control Multiciclo Basado en el capítulo 5 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
Reglas Básicas del Álgebra de Boole
PICOBLAZE RESUMEN.
Compiladores Análisis de Flujo de Datos. 2 Resumen Overview de análisis de control de flujo Expresiones disponibles Algoritmo para calcular expresiones.
1 Diseño VLSI Caracterización de circuitos MOS Enric Pastor Dept. Arquitectura de Computadors UPC.
Compuertas lógicas INTRODUCCION
Transistores, puertas lógicas y ordenadores completos.
ARQUITECTURA DE COMPUTADORES
UNIDAD 2. DISEÑO LÓGICO DE PROCESADORES: UNIDAD ARITMÉTICO-LÓGICA Ing. Elizabeth Guerrero V.
Subsistemas aritméticos y lógicos
Maestría en Ciencias de la Computación Arquitectura de Computadoras
 PRESENTADO POR : ANDRES MAYORGA DANIELA PAEZ VEGA.
Arquitecturas de Computadoras Capitulo 2 Aritmética de enteros.
Circuitos Combinacionales I
Arquitectura de Computadoras (Taller) Semestre II de 2008.
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.
Ronald J. Tocci and Neal S. Widmer Digital Systems, Eighth Edition Copyright ©2001 by Prentice-Hall, Inc. Upper Saddle River, New Jersey All rights.
Unidad aritmético-lógica
Titulación: Grado en Ingeniería de Computadores
TECNOLOGÍA DE EQUIPOS INFORMÁTICOS
Transcripción de la presentación:

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

ALU de 1 bit ALU de un bit con operaciones de: Elementos básicos: Suma y Resta And Or Setear si Menor (SLT) Elementos básicos: b c a

Sumador de 1 bit cout = a b + a cin + b cin sum = a xor b xor cin a b Cin Cout S 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 cout = a b + a cin + b cin sum = a xor b xor cin

Multiplexores Necesitamos seleccionar la operación: suma and or B S En función de S, seleccionamos A o B. 2 A B C C D

ALU de 1 bit O p e r a t i o n C a r r y I n a 1 R e s u l t 2 b C a r 1 R e s u l t 2 b C a r r y O u t

ALU de 32 bit

ALU con resta B i n v e r t O p e r a t i o n C a r r y I n a 1 R e s 1 R e s u l t b 2 1 C a r r y O u t

ALU con SLT Si A<B entonces 1 sino 0 . Como funciona?

ALU completa

ALU de 32 bits Overflow? 3 Líneas de Control Bnegate y Operación(2) 000 = and 001 = or 010 = add 110 = subtract 111 = slt Overflow?

ALU de 32 bits Líneas de Control 000 = and 001 = or 010 = add 110 = subtract 111 = slt 32 A B Op Resultado ALU Cero l

Conclusión Hemos construido una ALU que soporta el juego de instrucciones MIPS usamos un multiplexor para seleccionar la salida replicamos la ALU de 1 bit para conseguir la de 32 bits Cosas importantes del hardware todas las puertas estan siempre trabajando la velocidad de una puerta está afectada por el número de entradas de la puerta la velocidad del circuito está afectada por el número de puertas en serie

Sumador con Anticipación de Acarreo En el sumador de 32 bits que acabamos de diseñar, cada sumador de un bit puede determinar en paralelo el valor de Si, pero el Cout depende del sumador anterior. Es decir, hay una cadena de dependencias desde el sumador del bit mas bajo hasta el sumador del bit mas alto muy costoso en tiempo.

Acarreo Rápido c1=a0b0+a0c0+b0c0 c2=a1b1+a1c1+b1c1 c3=a2b2+a2c2+b2c2 C a r r y I n A L U b C a r r y O u t c1=a0b0+a0c0+b0c0 a 1 C a r r y I n A L U 1 b 1 C a r r y O u t c2=a1b1+a1c1+b1c1 a 2 C a r r y I n A L U 2 b 2 C a r r y O u t c3=a2b2+a2c2+b2c2 c31=a30b30+a30c30+b30c30 a 3 1 C a r r y I n A L U 3 1 b 3 1 c32=a31b31+a31c31+b31c31

Acarreo Rápido c1=a0b0+a0c0+b0c0 Reemplazamos !! c2=a1b1+a1c1+b1c1 C a r r y I n A L U b C a r r y O u t c1=a0b0+a0c0+b0c0 a 1 C a r r y I n Reemplazamos !! A L U 1 b 1 C a r r y O u t c2=a1b1+a1c1+b1c1 Reemplazamos !! a 2 C a r r y I n A L U 2 b 2 C a r r y O u t c3=a2b2+a2c2+b2c2 c31=a30b30+a30c30+b30c30 a 3 1 C a r r y I n A L U 3 1 b 3 1 Reemplazamos !! c32=a31b31+a31c31+b31c31

Acarreo Rápido c1=a0b0+a0c0+b0c0 c2=a1b1+a1a0b0+a1a0c0+a1b0c0 + C a r r y I n A L U b C a r r y O u t c1=a0b0+a0c0+b0c0 a 1 C a r r y I n A L U 1 b 1 C a r r y O u t c2=a1b1+a1a0b0+a1a0c0+a1b0c0 + b1a0b0+b1a0c0+b1b0c0 a 2 C a r r y I n A L U 2 b 2 C a r r y O u t La ecuación de Cn crece exponencialmente con n se vuelve muy cara de implementar en hardware a 3 1 C a r r y I n A L U 3 1 b 3 1

Método de Anticipación de Acarreo Ci+1=aibi+aici+bici Ci+1=aibi+ci (ai+bi) gi = aibi pi = ai + bi Ci+1=gi+ci pi El término gi, genera acarreo, independientemente de ci El término pi, propaga el acarreo proveniente de ci

Para un sumador de 4 bits Ci+1=gi+ci pi pi = ai + bi c1=g0+p0 c0 gi = aibi c2=g1+(p1g0)+(p1p0 c0) c3=g2+(p2g1)+(p2p1 g0 )+(p2p1p0 c0) c0 c4=g3+(p3g2)+(p3p2 g1 )+(p3p2p1 g0)+ (p3p2p1 p0)c0 Fijense que las ecuaciones se complican si crece n!! Solución: realizar un sumador de n bits utilizando módulos de 4-bit con anticipación de acarreo.

Sumador de 16 bits con módulos de 4 bits c4=g3+(p3g2)+(p3p2 g1 )+(p3p2p1 g0)+ (p3p2p1 p0)c0 P0 G0 c0 C1= G0 +(P0c0) a0 a1 a2 Módulo de 4 bits a3 P0 ALU0 b0 G0 b1 b2 b3

Sumador de 16 bits C1= G0 +(P0c0) C2= G1 +(P1G0) +(P1P0c0) ALU0 P1 G1 a4 a5 a6 a7 b4 b5 b6 b7 ALU1 P2 G2 a8 a9 a10 a11 b8 b9 b10 b11 ALU2 P3 G3 a12 a13 a14 a15 b12 b13 b14 b15 ALU3 C1= G0 +(P0c0) S0..3 pi gi C2= G1 +(P1G0) +(P1P0c0) C1 ci+1 S4..7 pi+1 gi+1 C3= G2 +(P2G1) +(P2P1G0) +(P2P1P0c0) C2 ci+2 S8..11 Toda la lógica empieza a evaluar al mismo tiempo, una vez que llega a un estado estable, se mantiene. pi+2 gi+2 C3 ci+3 S12..15 pi+3 gi+3 ci+4 C4 C4= G3 +(P3G2) +(P3P2G1) +(P3P2P1G0) +(P3P2P1P0c0)

Estimación de tiempos Vamos a calcular el rendimiento relativo entre el sumador con propagación de acarreo y el que anticipa el acarreo. Suponemos que los retardos son los mismos para todas las puertas el retardo es igual al número de puertas que la señal deba atravesar. Para cada diseño, sumaremos los retardos del camino crítico (el más largo).

Estimación de tiempos Conclusión: Para el sumador con propagación: La salida carry atraviesa dos puertas 2 por bit16 bits *2=32 Para el sumador con anticipación: La salida C4 es una suma de productos (puertas AND, luego puertas OR) de términos P y G. Dos niveles de puertas. P es un AND (un nivel) G es suma de productos (dos niveles de puertas) El peor caso sería: 2+1+2=5 Conclusión: El sumador con anticipación es 6 veces más rápido que el sumador con propagación de acarreo.

FIN Construcción de una ALU