Bloques Aritméticos - Multiplicadores

Documentos relacionados
En este capítulo se habla sobre las distintas arquitecturas y algoritmos de multiplicación rápida que se encontraron en la bibliografía.

Multiplicación. Multiplicación. Martín Vázquez Arquitectura I - Curso 2013 UNICEN. Notación dot

Tema IV. Unidad aritmético-lógica

Sumador Ripple-Carry

Arquitectura de Computadoras

LECCIÓN 1. CIRCUITOS ARITMÉTICOS DE SUMA Y RESTA DE ENTEROS

1.- Sistemas de representación

Bloques funcionales combinacionales. Bloques para el encaminamiento y/o transferencia de datos

Multiplicador Digital

UNIDAD ARITMETICO-LOGICA. Conceptos. 1. Sumadores y restadores. Semisumador:

UNIDAD ARITMÉ M T É ICO-L - Ó L GICA 1

ESTRUCTURA Y TECNOLOGIA DE COMPUTADORES II Curso PROBLEMAS TEMA 4: Unidad Aritmético Lógica

Transcripciones de las presentaciones de clases de teoría 2010

Arquitectura de Computadoras para Ingeniería

Fundamentos de Computadores. Tema 5. Circuitos Aritméticos

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 3 UNIDAD ARITMÉTICO- LÓGICA JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ

Circuitos electrónicos digitales. Unidades Aritméticas Lógicas. Departamento de Tecnología Electrónica Universidad de Sevilla

Arquitectura de Computadoras para Ingeniería

Unidad Aritmética. A2 A1 A0 + B2 B1 B0 Co S2 S1 S0

CIRCUITOS ELECTRÓNICOS DIGITALES ESCUELA POLITÉCNICA SUPERIOR UNIVERSIDAD AUTÓNOMA DE MADRID

Tema 2. LÓGICA COMBINACIONAL (I): FUNCIONES ARITMÉTICO- LÓGICAS (Tema 5 del libro)

-5.2 SUMADOR CON MULTIPLES SUMANDOS.

Circuitos Lógicos Combinatorios. Ing. Jorge Manrique 2004 Sistemas Digitales 1

4. Aritmética y operadores

4. Aritmética y operadores

6.1. Operadores aritméticos en binario natural

Sumadores. Tipos de sumadores: Half-adder. Full-Adder. Carry-Look-Ahead. Carry-select.

Circuitos electrónicos digitales

Principales subsistemas digitales en CMOS-

Modelos de Circuitos FCHE 2011

6. Sumadores y restadores

Subsistemas aritméticos y lógicos. Tema 8

Estructura y Tecnología de Computadores II (Gestión y Sistemas)

Tema IV. Unidad aritmético lógica

LECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS

Circuitos Electrónicos Digitales E.T.S.I. Telecomunicación Universidad Politécnica de Madrid. Circuitos combinacionales

ELO311 Estructuras de Computadores Digitales. Algoritmos de Multiplicación y División

Fundamentos de los Computadores Grado en Ingeniería Informática

TEMA III: OPERACIONES CON LOS DATOS

Tema 3. La Unidad Aritmético- Lógica

Aritmética de Computadores y Arquitecturas para el Procesado Digital de Señales Curso

x

Subsistemas aritméticos y lógicos. Tema 10

Tema 3. Operaciones aritméticas y lógicas

Figura 1: Suma binaria

Práctica 1 ALU de 1 BIT

Oliverio J. Santana Jaria. Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso Los objetivos de este tema son:

Tipos de Datos y Representaciones. Circuitos Digitales, 2º de Ingeniero de Telecomunicación. EITE ULPGC.

Tema 3. Operaciones aritméticas y lógicas

TEMA 5.3 SISTEMAS DIGITALES

Fundamentos de los Computadores Grado en Ingeniería Informática

Práctica 3 - Aritmética del Computador

ANALISIS Y DISEÑO DE CIRCUITOS ARITMÉTICOS

Una matriz es un arreglo rectangular de números. Los números en el arreglo se llaman elementos de la matriz. ) ( + ( ) ( )

TECNOLOGÍA DE COMPUTADORES / SISTEMAS DIGITALES EXAMEN FINAL. 13 ENERO TIEMPO 1h 30m SOLUCIÓN

Tema 3. Operaciones aritméticas y lógicas

Simplificación y minimización por adyacencias

Estructura de Computadores. 1. Ejercicios Resueltos 1.1. Tema 6. La unidad aritmética y lógica

UNIDAD II CIRCUITOS LÓGICOS COMBINATORIOS

2. Números naturales: sistema de numeración y operaciones básicas

TEMA 6 UNIDAD ARITMÉTICO LÓGICA

Circuitos Aritméticos. Introducción a los Sistemas Lógicos y Digitales 2012

Circuitos combinacionales. Funciones integradas

Arquitecaura de Computadoras Tema 1 - Introducción a la Arquitectura de Computadoras

Sistemas Combinacionales

Circuitos Aritméticos. ticos. Introducción n a los Sistemas Lógicos y Digitales 2009

SUMA DESPLAZAMIENTO. Comprobación: = =216. Multiplicar 12 x 18 (resultado 216)

EJERCICIOS RESUELTOS DEL TEMA 5

Circuitos Aritméticos. Introducción a los Sistemas Lógicos y Digitales 2018

TECNOLOGÍA DE COMPUTADORES / SISTEMAS DIGITALES EXAMEN FINAL. 19 JUNIO TIEMPO 2h 30m SOLUCIÓN

Implementación de funciones lógicas. Sumador binario combinacional.

Arquitectura de Computadoras

Sistemas Digitales I

PROCESAMIENTO DIGITAL DE SEÑALES

Computación I Representación Interna Curso 2011

Circuitos combinacionales aritméticos (Parte II)

Estudio del impacto de implementaciones de operadores aritméticos en dispositivos lógicos programables FPGA

GUIA DIDACTICA DE ELECTRONICA N º12 1. IDENTIFICACION ASIGNATURA GRADO PERIODO I.H.S. TECNOLOGIA ONCE CUARTO 6

Algoritmo de Auto-generación de Bloques Aritméticos Sumadores y Multiplicadores para su Implementación en PLD's

ARQUITECTURA DE COMPUTADORES 2º I.T.

Bloques Combinacionales

TEMA 5 ARITMÉTICA DE ALTA VELOCIDAD

Práctica de Problemas N o 3

Se detecta cuando el resultado requiera n+1 bits siendo que la representación solo utiliza n bits.

Codificación de la información y álgebra de conmutación EDIG

Tema 3: Operaciones aritméticas y lógicas

LA RUTA DE DATOS EN LOS DSPs DE COMA FIJA

BIBLIOGRAFIA TEORIA DE CIRCUITOSY DISPOSOTIVOS BOYLESTAD ELECTRONICA DIGITAL TOKHEIM SISTEMAS DIGITALES TOCCI

Problema Nº 1.a2.- Obtenga las siguientes conversiones numéricas. Problema Nº 1.a3.- Obtenga las siguientes conversiones numéricas. 9E36.

Relación de Ejercicios. Programación Paralela 4º de Grado en Ingeniería Informática.

ÍNDICE CAPÍTULO 1. CÓDIGOS DE NUMERACIÓN CAPÍTULO 2. ÁLGEBRA DE CONMUTACIÓN Y FUNCIONES LÓGICAS... 37

Algoritmos Multiplicación División

Desarrollo de Productos Electrónicos

UNIÓN INTERNACIONAL DE TELECOMUNICACIONES ESPECIFICACIONES DE LOS APARATOS DE MEDIDA

3 - DISEÑO RTL. Existen dos tipos de descripciones a nivel de comportamiento en Verilog:

Diseño de Operadores Aritméticos

ESCUELA POLITÉCNICA NACIONAL

Práctica 1 - Representación de la información

UNIVERSIDAD TECNICA LUIS VARGAS TORRES Esmeraldas - Ecuador MATRICES Y VECTORES

Transcripción:

Bloques Aritméticos - Multiplicadores La multiplicación es una operación cara (en términos de recursos) y lenta Este hecho ha motivado la integración de unidades completas de multiplicación en los DSPs y µps Los multiplicadores son en la práctica matrices complejas de sumadores DCSE 2- /34

Bloques Aritméticos - Multiplicadores Consideramos dos números binarios sin signo X e Y, de M y N bits respectivamente: M X = i = DCSE 2- X i 2 i 2/34 N = j Y Y2 X, Y {,} j = j i j Definición de la operación de multiplicación: M + N k Z = X Y = Z2 = k = M N N M i j i + j Xi2 Yj2 = XY i j2 i = j = j = i = k

Multiplicadores Desplazamiento y Suma M = i X X2 N M Y i = N = j = Y j i 2 j i + j Z = X Y = XY i j2 j = i = La multiplicación requiere M ciclos utilizando un sumador de N bits. Se realiza la suma de N productos parciales, que se generan multiplicando un bit del multiplicador por el valor del multiplicando (operación AND) y desplazando el resultado según la posición del bit del multiplicador. DCSE 2-3/34

Multiplicador matricial: ejemplo + Multiplicando Multiplicador Productos parciales Resultado DCSE 2-4/34

Multiplicador matricial Los productos parciales se generan en paralelo y se organizan en una matriz + Un sumador multioperando calcula el producto final En hardware, la estructura del multiplicador matricial combina las funciones: generación de productos parciales, acumulación de productos parciales y suma final DCSE 2-5/34

Generación de productos parciales X7 X6 X5 X4 X3 X2 X X Y j PP7 PP6 PP5 PP4 PP3 PP2 PP PP Los productos parciales (PP) resultan de aplicar la operación lógica AND al multiplicando X y a un bit del multiplicador Y j Cada fila de la matriz de PP es una copia del multiplicando o una fila de ceros Optimizar la generación de los PP para reducir los retardos y el área ocupada en hardware (recodificación Booth) DCSE 2-6/34

Ejemplo: Algoritmo de Booth Un multiplicador de 8 bits: produce 6 filas de productos parciales distintos de cero Este número se puede re-codificar para poder reducir (sustancialmente) el número de filas distintas de cero: El número representa el mismo número, si es una anotación abreviada para designar el valor - DCSE 2-7/34

Ejemplo (cont.): Algoritmo de Booth Utilizando esta representación ( ), basta con sumar dos productos parciales, aunque el sumador tiene que ser capaz de realizar restas. Reducir el número de productos parciales es equivalente a reducir el número de sumas, lo que permite acelerar la operación y reducir el área ocupada. DCSE 2-8/34

Re-codificación de Booth modificado No resulta demasiado práctico para el diseño de multiplicadores disponer de una matriz de productos parciales de tamaño variable. Por eso, normalmente se utiliza el esquema de re-codificación de Booth modificado, en lugar del esquema original. El multiplicador se divide en grupos de 3 bits, solapados por un bit. Cada grupo de 3 se recodifica según la tabla siguiente: DCSE 2-9/34

Re-codificación de Booth modificado Tabla de re-codificación Booth Bits del multiplicador DCSE 2- recodificados 2-2 - - /34 Ejemplos: () 2-2 -2 () -2 2 - () -: complemento a 2 - - -2 2: desplazamiento (multiplicar por 2) -2: complemento a 2 y desplazamiento

Re-codificación de Booth modificado Tabla de re-codificación Booth 5 Bits del multiplicador re-codificados 7 5 2 5 re-codificación Booth 2-2 - + 4 5 5 35 - () 2 - DCSE 2- /34

Re-codificación de Booth modificado Tabla de re-codificación Booth 5 Bits del multiplicador re-codificados 2-7= 2 2 2 + (-) 2 + - 5 2 2 2 5 re-codificación Booth 2-2 - - 35 () 2 - (compl. 2): + = y en 8 bits: DCSE 2-2/34

Multiplicador matricial Topológicamente muy similar al procedimiento manual de multiplicación X 3 X 3 X 2 X X X Y 2 X X Z Y HA FA FA HA X 3 X 2 X X Y 2 Z FA FA FA HA X3 X 2 X X Y 3 Z 2 FA FA FA HA Z 7 Z 6 Z 5 Z 4 Z 3 Multiplicador matricial de 4 4 bits para números sin signo DCSE 2-3/34

Multiplicador matricial La generación de N PPs requiere N M puertas AND de 2 bits La mayor parte del área del multiplicador está dedicada a la suma de los N PPs, que requiere N- sumadores de M bits Desplazamiento: conectar apropiadamente las pistas de interconexión, sin necesidad de lógica especial Estructura compacta! Se puede implementar de forma rectangular (opt. layout) DCSE 2-4/34

Cómo calcular el retardo de propagación de este circuito? Multiplicador matricial Identificar camino crítico de temporización (no trivial)! Se pueden identificar varios caminos con una longitud prácticamente idéntica DCSE 2-5/34

Multiplicador matricial Hay N- sumadores de M bits t mult t AND + (N-) t sum + [(M-) + (N-2)] t carry (para el camino crítico 2) DCSE 2-6/34

Multiplicador matricial Hay dependencias verticales y horizontales en todos los niveles Todos los caminos críticos se tienen que acelerar al mismo tiempo (acelerar solo uno de ellos sustituyendo un sumador por otro más rápido, como por ejemplo un sumador Carry- Select, no tiene mucho sentido) t mult t AND + (N-) t sum + [(M-) + (N-2)] t carry De la ecuación anterior, se observa que la minimización de t mult requiere la minimización tanto de t carry como de t sum Se puede utilizar un sumador Carry-Save DCSE 2-7/34

Multiplicador Carry-Save Observamos que el resultado de la multiplicación no varía cuando los bits de salida del acarreo se transmiten diagonalmente hacia abajo en lugar de solo hacia la derecha Este es el principio del CSA que hemos visto en la clase anterior! Para generar el resultado final se incluye en el diseño un sumador adicional, denominado sumador de combinación de vectores DCSE 2-8/34

Multiplicador Carry-Save La propagación de señales se realiza hacia la siguiente etapa y no entre elementos de una misma etapa DCSE 2-9/34

Multiplicador Carry-Save - ejemplo compresor 3-2 DCSE 2-2/34

Multiplicador Carry-Save La propagación de señales se realiza hacia la siguiente etapa y no entre elementos de una misma etapa Retardo de un FA por cada fila superior t mult t AND + (N-) t carry + t finalsum Retardo de un sumador de N bits DCSE 2-2/34

Disposición rectangular de un CSM Se utilizan 6 sumadores y se combinan mediante operaciones AND antes de completos las sumas FA y 6 semi-sumadores HA DCSE 2-22/34

Árbol de retardos balanceado La cadena vertical de FA en un CSM es una cadena serie. Se puede reducir el retardo de dicha cadena empleando árboles binarios DCSE 2-23/34

Multiplicador en árbol Empleando sumadores para las sumas parciales en estructura de árbol, se pueden reducir tanto el camino crítico (retardo) como el núm. de celdas sumadoras necesarias (área) Para un multiplicador de 4 4 bits, se puede observar que solo la columna 3 de la matriz de sumadores tiene que sumar 4 bits. Todas las demás columnas son algo menos complejas. DCSE 2-24/34

Árbol de Wallace para un multiplicador de 4 4 bits Para conseguir una implementación mínima, recubrimos de manera iterativa el árbol con FA y HA comenzando por la parte más densa. En un primer paso introducimos HA en las columnas 4 y 3 DCSE 2-25/34

Árbol de Wallace para un multiplicador de 4 4 bits Este es el árbol reducido, y en esta estructura introducimos en una segunda iteración 3 FA y un HA. DCSE 2-26/34

Árbol de Wallace para un multiplicador de 4 4 bits Después de esta segunda iteración de reducciones hemos creado un árbol de profundidad 2, para alimentar el sumador final de dos entradas, para el cual se puede utilizar cualquier tipo de sumador DCSE 2-27/34

Árbol de Wallace para un multiplicador de 4 4 bits DCSE 2-28/34 Solo se utilizan 3 sumadores completos FA y 3 semi-sumadores HA para el proceso de reducción

Implementación del multiplicador en árbol de Wallace El multiplicador el árbol permite conseguir un ahorro sustancial de hardware para multiplicadores de gran tamaño. También se reduce el retardo de propagación, que es: O(log 3/2 (N)). Desventaja: el multiplicador Wallace es muy irregular, lo que complica la tarea de obtener un layout eficiente. HA DCSE 2-29/34

Suma final La velocidad del sumador final tiene gran importancia La elección del estilo de sumador dependerá de la estructura de la matriz de acumulación. Se puede preferir un CLA si todos los bits de entrada al sumador llegan al mismo tiempo (es el sumador con el más pequeño retardo posible) Este es el caso, por ejemplo, si se utiliza una etapa de registro justo antes de la suma final. El procesamiento en cadena mediante la inclusión de registros es una técnica frecuentemente utilizada en los multiplicadores de altas prestaciones DCSE 2-3/34

Suma final En los multiplicadores que no están basados en una estructura de procesamiento en cadena, el perfil de instantes de llegada de las entradas al sumador final es bastante poco equilibrado, debido a las profundidades lógicas variables del árbol del multiplicador En estas circunstancias, otras topologías de sumador, como las de carry-select, suelen proporcionar prestaciones similares a las del CLA, pero con un coste en términos de hardware sustancialmente menor DCSE 2-3/34

Problemas DCSE 2-32/34

Problema. Examen junio 23 Se desea realizar un bloque combinacional que realice la siguiente operación: Z = 4 A + 7 B + 3 C siendo A, B y C números enteros positivos de 4 bits. a) Determine los valores máximo y mínimo de la salida Z. Cuántos bits son necesarios para poder representarla? b) Utilizando únicamente sumadores completos de un bit, construya el bloque combinacional. Si lo considera oportuno siga la estructura de un multiplicador en array. c) Sabiendo que los retardos de propagación del sumador completo de un bit son: t suma =t carry = ns, señale en la estructura anterior los caminos con retardo máximo y mínimo e indique sus valores. DCSE 2-33/34

Problema 2. Examen febrero 22 Se desea realizar un bloque sumador de 8+8 bits y salida de 8 bits más acarreo. En este problema se estudiarán diferentes alternativas de implementación. Considere que deberá almacenar los datos de entrada en dos registros de 8 bits y que el resultado deberá escribirse en otro registro de 9 bits. Los componentes disponibles son los siguientes: Sumadores de bit (full-adder): Area normalizada = ; Retardo = ns. Puertas lógicas (cualesquiera): Area normalizada =,5; Retardo =,5 ns. Multiplexores (2 a ): Multiplexores (8 a ): Flip-flops tipo D: Area normalizada =,25; Retardo =,25 ns. Area normalizada =,75; Retardo =,75 ns. Area normalizada =,75; t prop =,75 ns.; t setup =,25 ns. a) Dibuje de forma detallada una arquitectura con un sumador del tipo carry-bypass de 8 bits con grupos de 3 bits. b) Comente la diferencia entre los dos tipos de sumadores carry-select y seleccione uno de ellos para diseñar un sumador carry-select de 8 bits donde el grupo que contiene el bit menos significativo sea de 2 bits. Dibuje de forma detallada la arquitectura resultante. c) En el caso de disponer un único sumador de bit, dibuje el datapath de una arquitectura que permita realizar la suma completa en secuencia. d) Calcule el área y el tiempo total (periodo mínimo número de ciclos de reloj) de cada una de las implementaciones realizadas. Compare estos resultados y comente de forma razonada cuál(es) de las alternativas realizadas considera más eficiente. DCSE 2-34/34