1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1



Documentos relacionados
5.1.1 Sumadores con anticipación de Acarreo. g i = a i b i. c i = c i-1 p i + g i s i = p i + c i-1. c 0 = g 0 + c -1 p 0

Los sistemas de numeración se clasifican en: posicionales y no posicionales.

FORMATO BINARIO DE NÚMEROS NEGATIVOS

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Informática Bioingeniería

Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso Aritmética binaria

Lección 4: Suma y resta de números racionales

Ecuaciones de primer grado con dos incógnitas

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

A estas alturas de nuestros conocimientos vamos a establecer dos reglas muy prácticas de cómo sumar dos números reales:

Matemáticas para la Computación

Aritmética Binaria. Luis Entrena, Celia López, Mario García, Enrique San Millán. Universidad Carlos III de Madrid

Tema IV. Unidad aritmético lógica

by Tim Tran:

❷ Aritmética Binaria Entera

Computación I Representación Interna Curso 2011

SISTEMAS DE NUMERACIÓN. Sistema decimal

18. Camino de datos y unidad de control

Los polinomios. Un polinomio es una expresión algebraica con una única letra, llamada variable. Ejemplo: 9x 6 3x 4 + x 6 polinomio de variable x

Figura 1. Símbolo que representa una ALU. El sentido y la funcionalidad de las señales de la ALU de la Figura 1 es el siguiente:

Tema 11: Sistemas combinacionales

DESARROLLO DE HABILIDADES DEL PENSAMIENTO LÓGICO

TEMA 2: Representación de la Información en las computadoras

Sistemas de numeración

T6. CIRCUITOS ARITMÉTICOS

SISTEMAS NUMERICOS CAMILO ANDREY NEIRA IBAÑEZ UNINSANGIL INTRODUCTORIO A LA INGENIERIA LOGICA Y PROGRAMACION

Divisibilidad y números primos

Tema I. Sistemas Numéricos y Códigos Binarios

EJERCICIOS DEL TEMA 1

Sumador: C o. C in. Sumador serie: Sumador paralelo con propagación de arrastre:

UNIDAD 6. POLINOMIOS CON COEFICIENTES ENTEROS

LÍMITES Y CONTINUIDAD DE FUNCIONES

UNIDAD 1. LOS NÚMEROS ENTEROS.

Unidad Didáctica. Códigos Binarios

QUÉ ES LA RENTABILIDAD Y CÓMO MEDIRLA. La rentabilidad mide la eficiencia con la cual una empresa utiliza sus recursos financieros.

QUÉ ES UN NÚMERO DECIMAL?

SISTEMAS DE NUMERACIÓN.

El sistema decimal, es aquél en el que se combinan 10 cifras (o dígitos) del 0 al 9 para indicar una cantidad específica.

Qué son los monomios?

SUMA Y RESTA DE FRACCIONES

PROYECTO DE LA REAL ACADEMIA DE CIENCIAS Estímulo del talento matemático

SISTEMAS DE NUMERACIÓN. Sistema de numeración decimal: = =8245,97

Colegio Salesiano Don Bosco Academia Reparación Y Soporte Técnico V Bachillerato Autor: Luis Orozco. Subneteo

Curso Completo de Electrónica Digital

UNIDAD 3: ARITMÉTICA DEL COMPUTADOR

CIRCUITOS ARITMÉTICOS

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

PROYECTO DE LA REAL ACADEMIA DE CIENCIAS Estímulo del talento matemático

Los números racionales

El álgebra booleana (Algebra de los circuitos lógicos tiene muchas leyes o teoremas muy útiles tales como :

Introducción a la Programación 11 O. Humberto Cervantes Maceda

SITEMA BINARIO, OCTAL Y HEXADECIMAL: OPERACIONES

ÍNDICE DISEÑO DE CONTADORES SÍNCRONOS JESÚS PIZARRO PELÁEZ

EJERCICIOS RESUELTOS SOBRE ERRORES DE REDONDEO

Tema 2. La Información y su representación

Lección 1. Representación de números

MÉTODO DEL CAMBIO DE BASE PARA CÁLCULO MANUAL DE SUBREDES CON IP V4.0

TEMA 6. Circuitos Aritméticos.

Anterior Sistemas binarios: Aritmética binaria Siguiente ARITMÉTICA BINARIA. Operaciones elementales con números binarios

Generación de funciones lógicas mediante decodificadores binarios con salidas activas a nivel alto

Por ejemplo, los números binarios sin signo que se pueden construir con 4 bits son: bit más significativo more significant bit (msb)

MICROECONOMÍA II. PRÁCTICA TEMA II: Equilibrio parcial

CURSO TECNOLOGÍA TECNOLOGÍA 4º ESO TEMA 5: Lógica binaria. Tecnología 4º ESO Tema 5: Lógica binaria Página 1

Unidad de trabajo 2: INFORMÁTICA BÁSICA (primera parte)

Llamamos potencia a todo producto de factores iguales. Por ejemplo: 3 4 =

mcd y mcm Máximo Común Divisor y Mínimo Común múltiplo José de Jesús Angel Angel jjaa@math.com.mx

Límite de una función

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES

Programa para el Mejoramiento de la Enseñanza de la Matemática en ANEP Proyecto: Análisis, Reflexión y Producción. Fracciones

Si quiere obtener la Subred 5. Los bits en verde (101), es el numero 5

Índice Introducción Números Polinomios Funciones y su Representación. Curso 0: Matemáticas y sus Aplicaciones Tema 1. Números, Polinomios y Funciones

Materia: Informática. Nota de Clases Sistemas de Numeración

Sistema binario. Representación

Apuntes de Microcontroladores (Repaso de temas previos)

Electrónica Básica. Aritmética Binaria. Electrónica Digital. José Ramón Sendra Sendra Dpto. de Ingeniería Electrónica y Automática ULPGC

Cualquier número de cualquier base se puede representar mediante la siguiente ecuación polinómica:

COMPARACIÓN DE ÁREAS DE FIGURAS POR ESTUDIANTES DE PRIMERO DE MAGISTERIO

Módulo 9 Sistema matemático y operaciones binarias

ELECTRÓNICA DIGITAL. Una señal es la variación de una magnitud que permite transmitir información. Las señales pueden ser de dos tipos:

4º ESO 1. ECUAC. 2º GRADO Y UNA INCÓGNITA

TEMA 1: SISTEMAS INFORMÁTICOS. Parte 2: representación de la información

La ventana de Microsoft Excel

MÓDULO 2. LEYES FINANCIERAS DE CAPITALIZACIÓN Y DESCUENTO SIMPLE

CAPÍTULO VI PREPARACIÓN DEL MODELO EN ALGOR. En este capítulo, se hablará acerca de los pasos a seguir para poder realizar el análisis de

SISTEMAS NUMÉRICOS (SISTEMAS DE NUMERACIÓN)

Capítulo 0. Introducción.

Transformación de binario a decimal. Transformación de decimal a binario. ELECTRÓNICA DIGITAL

Definición Dados dos números naturales m y n, una matriz de orden o dimensión m n es una tabla numérica rectangular con m filas y n columnas.

TEMA 4 FRACCIONES MATEMÁTICAS 1º ESO

1. HABILIDAD MATEMÁTICA

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

Unidad 1 Sistemas de numeración Binario, Decimal, Hexadecimal

Aproximación local. Plano tangente. Derivadas parciales.

ANEXO 2: REPRESENTACION DE LA INFORMACION EN LOS COMPUTADORES

Tutorial de Subneteo Clase A, B, C - Ejercicios de Subnetting CCNA 1

ARITMÉTICA EN PUNTO FLOTANTE

1. Representación de la información en los sistemas digitales

Introducción a los Sistemas Digitales

Transcripción:

5.1.3 Multiplicación de números enteros. El algoritmo de la multiplicación tal y como se realizaría manualmente con operandos positivos de cuatro bits es el siguiente: 1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1 Al realizar la multiplicación se ve claro que si inicialmente tenemos dos números de n bits se obtiene un número de 2*n bits como máximo. Además dado el multiplicando realizar la operación por un bit del multiplicador es fácil. Si el bit multiplicador es uno, el multiplicando se introduce en su posición, desplazado adecuadamente para realizar la suma. Si el bit multiplicador es 0, entonces se introducen ceros en la suma, también desplazados adecuadamente, aunque realmente en este caso se puede elegir realizar la suma con operando cero o directamente no realizarla y pasar al siguiente operando. En una primera realización podemos realizar la multiplicación binaria de operandos positivos en un array lógico puramente combinacional. Sean M y m los números a multiplicar, cada bit del producto parcial Pij=mi*Mj se genera en una puerta AND. La generación de los n productos parciales y su suma se realiza en una red de n*(n-1) sumadores. Tal como muestra la figura: M3 M2 M1 M0 m3 m2 m1 m0 P03 P02 P01 P00 + P13 P12 P11 P10 P23 P22 P21 P20 P33 P32 P31 P30 P7 P6 P5 P4 P3 P2 P1 P0 (Ver dibujo en página siguiente).

Podemos apreciar el retardo existente en este circuito, donde los acarreos de los sumadores son propagados a través de todos ellos.

La realización de los SCA en este ejemplo puede presentar varias realizaciones. En la figura anterior vemos una forma de organizar los sumadores completos de los CSA para conseguir que el sumador con acarreo anticipado del final tenga el menor número de bits a sumar, y por tanto finalice lo antes posible. En la figura siguiente se muestra otra estructura muy similar de utilización de los CSA.

Problema: Realizar la multiplicación de dos números de 8 bits. Seguir el esquema visto en el ejemplo anterior. Decir cuantos niveles de puertas lógicas posee el circuito.

Algoritmo de Booth Hay algoritmos más directos para la obtención de multiplicaciones con números negativos, uno de estos es el algoritmo de Booth. El cual genera multiplicaciones de 2n bits y trata por igual tanto números positivos como negativos. Este algoritmo se basa en el hecho de que cuando tenemos un multiplicando el cual tiene una serie de unos en su representación, este valor se puede descomponer en la resta de otros dos números con una cantidad de unos menor, por ejemplo: 0 0 1 1 1 1 0 = 0 1 0 0 0 0 0-0 0 0 0 0 1 0 Así la multiplicación se puede descomponer en una operación de adición para el primer número y de una resta para el segundo: M * (0 0 1 1 1 1 0) = M * (0 1 0 0 0 0 0) M * (0 0 0 0 0 1 0) El nuevo multiplicador lo podemos representar por: m = 0 1 0 0 0-1 0 Pero este método se puede generalizar para cualquier cadena de bits en el multiplicando. Para ello realizamos un algoritmo de forma que cuando realicemos la multiplicación, nos fijaremos en el multiplicador viendo los bits de dos en dos: m i y m i-1, de forma que cuando tengamos estas cuatro posibles secuencias, determinarán el valor de m i, y realizaremos las acciones indicadas: 00 ó 11 : m i = 0 : Solo desplazaremos el multiplicador --> poner ceros. 01 : m i = 1 : Realizaremos el producto por 1 y desplazado. 10 : m i = -1 : Realizaremos el complemento a dos del multiplicador con extensión de signo y desplazado. Pero surge el problema del primer bit, para lo cual introducimos un bit previo a m 0, el m -1. En la página siguiente se muestra el algoritmo. Para entender por que se realiza esta asignación, hay que fijarse que todo número binario puede ser expresado como resta de dos números y una forma de obtenerlos es aplicar la anterior codificación. Ejemplo: m = 1 0 1 1 0 1 0 1(0) = m pos - m neg m =-1 1 0-1 1-1 1-1 m pos m neg = 0 1 0 0 1 0 1 0 (unos en los 1 s de m ) = 1 0 0 1 0 1 0 1 (unos en los -1 s de m ) Para realizar la multiplicación podemos utilizar dos métodos, codificar el el multiplicador como hemos visto antes (con signos negativos en los unos) o no codificarlo asi y tener en cuenta la secuencia de bits de dos en dos como hemos visto. Para comprenderlo mejor veremos el mismo ejemplo de las dos formas.

Ejemplo: de multiplicación con el algoritmo de Booth: A=0 1 0 1 1 0 1 B=0 0 1 1 1 1 0 1º) Codificamos B como ya se ha indicado: B = 0 1 0 0 0-1 0 Luego realizamos la operación de sumas parciales como en el caso del multiplicador por sumas parciales haciendo el complemento a dos de los multiplicandos que sean necesarios restar 0 1 0 1 1 0 1 0+1 0 0 0-1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0 1 1 (complemento a dos) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 1 0 2º) Utilizar el segundo método basado en el algorimo vista en la hoja anterior. Ambos métodos son equivalentes e iguales en su realizacición, veamoslo: A=0 1 0 1 1 0 1 B=0 0 1 1 1 1 0 0 1 0 1 1 0 1 0 0 1 1 1 1 0(0) 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0 1 1 (complemento a dos) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 1 1 0

Ejemplo: Vamos algunas equivalencias para calcular la forma del multiplicador. Sea B=53 y A=21, calculamos la exprersión de B y luego realizamos la multiplicación de ambas formas. B = 0 0 1 1 0 1 0 1 ==> B = 0 0 1 1 0 1 0 1(0) B = 0 1 0-1 1-1 1-1 O también: B = 0 0 1 1 0 1 0 1 ==> B = (01001010)-(00010101) 0 0 0 1 0 1 0 1 (A=21) (-A=11101011) * 0 1 0-1 1-1 1-1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 1 1 1 1 1 1 0 1 0 1 1 0 0 0 0 0 0 0 1 0 1 0 1 1 1 1 1 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 0 1

Hasta ahora hemos visto el caso de operandos positivos, veamos el caso de multiplicador negativo y como se obtiene el valor correcto. Para multiplicadores positivos existe por lo menos un cero en la última posición (bit de signo) que hace que la secuencia de unos tenga un final. Para el caso de multiplicadores negativos no existe este último cero y por lo tanto el multiplicando para su codificación puede presentar un número distinto de sumas y restas. Pero si aplicamos el segundo método este problema no se plantea, lo que sucede es que simplemente la última secuecnia de dos cifras será 10 o 11, con lo cual realizaremos o bien el C2 o sumaremos todo 0. Ejemplo: A=0 1 1 0 1 B=1 1 0 1 0 1º) Con este método codificamos B: B = 1 1 0 1 0(0) B = 0-1+1-1 0 0 1 1 0 1 (A=13) (-A=10011) 0-1+1-1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 1 1 0 0 0 0 1 1 0 1 1 1 1 0 0 1 1 0 0 0 0 0 0 1 1 1 0 1 1 0 0 1 0 Que es el resultado esperado. La transformación del multiplicador del algoritmo de Booth recibe el nombre de técnica de saltar unos, y es así porque para las series de unos que presenta el multiplicador sólo se necesita considerar el primero y el último. Sin embargo hay casos en los que esta técnica aumenta el número de unos con lo cual no se gana en velocidad a la hora de calcular el resultado, por ejemplo: B= 0 1 0 1 0 B=+1-1 +1-1 0

Versión combinacional del algoritmo de Booth.

Ejemplo 1: Utilizamos sumadores completos de 3 o 2 entradas. M3 M2 M1 M0 m3 m2 m1 m0 P03 P03 P03 P03 P02 P01 P00 C0 + P13 P13 P13 P12 P11 P10 C1 P23 P23 P22 P21 P20 C2 P33 P32 P31 P30 C3 P6 P5 P4 P3 P2 P1 P0 P03 P03 P03 P03 P02 P01 P00 + P13 P13 P13 P12 P11 P10 C0 P23 P23 P22 P21 P20 C1 P33 P32 P31 P30 C2 C3 P03 P33 P03 P31 P12 P02 S S S S S Acc Acc Acc Acc Acc Acc S S P03 S S S S Acc Acc Acc Acc Acc S S S S S S S Acc Acc Acc Acc S S S P6 P5 P4 P3 P2 P1 P0 AA-4bits

Ejemplo 2: Utilizamos sumadores completos siempre con 3 entradas. M3 M2 M1 M0 m3 m2 m1 m0 P03 P03 P03 P03 P02 P01 P00 C0 + P13 P13 P13 P12 P11 P10 C1 P23 P23 P22 P21 P20 C2 P33 P32 P31 P30 C3 P6 P5 P4 P3 P2 P1 P0 P03 P03 P03 P03 P02 P01 P00 + P13 P13 P13 P12 P11 P10 C0 P23 P23 P22 P21 P20 C1 P33 P32 P31 P30 C2 C3 P03 P33 P03 P31 P12 P02 S S S S S P00 Acc Acc Acc Acc Acc S C0 P03 S S S S P00 Acc Acc Acc Acc S S C0 S S S S P00 Acc Acc Acc Acc S S C0 P6 P5 P4 P3 P2 P1 P0 AA-7bits

PROBLEMA 1: Realizar el producto de (6)*(-5) usando representaciones de 4 bits en C-2 y una realización combinacional basada en el algoritmo de Booth. 0110 (-6) C1 = 1001 * 1011 0 1 1 0 * -1+1 0-1 1 1 1 1 0 0 1 C 0 = 1 0 0 0 0 0 0 C 1 = 0 PRODUCTOS 0 0 1 1 0 C 2 = 0 PARCIALES 1 0 0 1 C 3 = 1 1 1 1 1 0 0 1 0 0 0 0 0 0 1 0 0 1 1 0 0 CSA 1 0 0 1 0 1 1 1 1 0 0 0 1 0 0 1 0 0 CSA 0 1 1 0 0 1 0 1 0 0 1 1 0 CSA 1 0 0 0 0 1 0 1 0 1 0 0 0 1 0 0 1 0 AA-4bits 1 1 0 0 0 1 0 (-30) PROBLEMA 2: Realizar el producto de (10)*(-7) usando representaciones de 6 bits en C-2 y una realización combinacional basada en el algoritmo de Booth. PROBLEMA 3: Realizar el producto de (-20)*(+6) usando representaciones de 6 bits en C-2 y una realización combinacional basada en el algoritmo de Booth.

PROBLEMA 2: Producto de (10) * (-7) con 6 bits y C-2. SOLUCIÓN: (10) = 001010 (10) C1 = 110101 (10) C2 = 110110 ( 7) = 000111 (-7) C1 = 111000 (-7) C2 = 111001 M = 0 0 1 0 1 0 m = * 1 1 1 0 0 1 0 0 1 0 1 0 * 0 0-1 0 1-1 1 1 1 1 1 1 1 1 0 1 0 1 C 0 = 1 0 0 0 0 0 0 0 1 0 1 0 C 1 = 0 0 0 0 0 0 0 0 0 0 0 C 2 = 0 1 1 1 1 1 0 1 0 1 C 3 = 1 GPP = 2 0 0 0 0 0 0 0 0 C 4 = 0 0 0 0 0 0 0 0 C 5 = 0 1 1 1 1 1 1 1 1 0 1 0 1 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 CSA = 2 1 1 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 CSA = 2 0 0 0 0 0 0 1 0 1 0 0 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 0 1 1 CSA = 2 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 1 0 1 1 CSA = 2 1 1 1 1 0 1 0 0 1 0 0 1 1 1 1 1 0 0 1 1 -AA-12bits = 8 0 0 0 0 1 0 0 1 1 0 0 1 1 1 1 1 1 0 1 1 1 0 1 0 (-70) C2

PROBLEMA 3: Producto de (-20) * ( 6) con 6 bits y C-2. SOLUCIÓN: (20) = 010100 (20) C1 = 101011 (20) C2 = 101100 ( 6) = 000110 M = 1 0 1 1 0 0 m = * 0 0 0 1 1 0 1 0 1 1 0 0 * 0 0 1 0-1 0 0 0 0 0 0 0 0 0 0 0 0 0 C 0 = 0 0 0 0 0 0 0 1 0 0 1 1 C 1 = 1 + 0 0 0 0 0 0 0 0 0 0 C 2 = 0 PP = 2τ 1 1 1 1 0 1 1 0 0 C 3 = 0 0 0 0 0 0 0 0 0 C 4 = 0 0 0 0 0 0 0 0 C 5 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 CSA = 2 τ 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 CSA = 2 τ 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 CSA = 2 τ 1 1 1 1 0 0 1 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 CSA = 2 τ 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 0 Σ-AA-12bits = 8 τ 0 0 0 0 1 0 0 0 1 0 0 0 1 1 1 1 1 0 0 0 1 0 0 0 (120) C2

Algoritmo de Booth modificado. Para acelerar el proceso de la multiplicación vamos a describir una nueva técnica que garantiza que un multiplicador de n bits necesitará como máximo n/2 sumandos, ya que permite reducir a la mitad el número de productos parciales, duplicando así la velociadad del multiplicador. Además este nuevo método maneja operandos con signo. La forma de acelerar el algoritmo es mediante la suma en un sólo paso de varias sumas parciales. El algotimo de Booth modificado divide el multiplicador en cadenas de 3 bits. Para ello se seleccionan los n/2 sumandos por parejas de bits de la siguiente forma: (x 1,x 0 ), (x 2,x 3 ), (x 4,x 5 ), etc, es por esto por lo que se le llama método de codificación por pares de bits. Veamos el ejemplo del caso anterior codificado mediante el algoritmo de Booth: 1 1 1 0 1 0 0 0-1+1-1 0 Las parejas de bits formadas en este caso son: (-1, 0) => este par equivale a -2* (el multiplicando) (-1,+1) => -1* (el multiplicando) ( 0, 0) => 0* (el multiplicando) Si en lugar de la codificación de Booth tomamos los valores iniciales de número a codificar tenemos: (1,0) con 0 a la derecha=>-2*(el multiplicando) (1,0) con 1 a la derecha=> -1*(el multiplicando) (1,1) con 1 a la derecha=> 0*(el multiplicando) Podemos mostrar la tabla de codificaciones en función de los bits del multiplicador original: Multiplicador pares de bits (i+1, i) Bit de la derecha i-1 Valor de la suma parcial para ese par de bits 0,0 0 0*M ==> (0*2 i+1 + 0*2 i )*M 0,0 1 +1*M ==> (0*2 i+1 + 1*2 i )*M 0,1 0 +1*M==> (1*2 i+1-1*2 i )*M 0,1 1 +2*M==> (1*2 i+1 + 0*2 i )*M 1,0 0-2*M==> (-1*2 i+1 + 0*2 i )*M 1,0 1-1*M==> (-1*2 i+1 + 1*2 i )*M 1,1 0-1*M==> (0*2 i+1-1*2 i )*M 1,1 1 0*M==> (0*2 i+1 + 0*2 i )*M Tabla de codificaciones.

Ejemplo: A = 0 1 1 0 1 B = 1 1 0 1 0 Primero codificamos B = 0-1 -2, la multiplicación a realizar es: 0 1 1 0 1 A= 13 * 0-1 -2 B= -6 1 1 1 1 1 0 0 1 1 0 Z= -78 1 1 1 1 0 0 1 1 0 0 0 0 0 0 1 1 1 0 1 1 0 0 1 0 Del ejemplo podemos ver que los sumando ahora al pertenecer a parejas de bits, hay que desplazarlos para que se ajuste a la posición correspondiente del primer bit de que forma la pareja. Ejercicio: Para representaciones de 6 bits realizar las multiplicaciones siguientes: (10)*(-9) y (-10)*(9) Realización: (10) = (001010) (-10) = (110110) (9) = (001001) (-9) = (110111) 1ª) (10)*(-9): 0 0 1 0 1 0 * -1 +2-1 1 1 1 1 1 1 1 1 0 1 1 0 + 0 0 0 0 0 1 0 1 0 0 1 1 1 1 0 1 1 0 1 1 1 1 1 1 0 1 0 0 1 1 0 2º) (-10)*(9): 1 1 0 1 1 0 * +1-2 +1 1 1 1 1 1 1 1 1 0 1 1 0 + 0 0 0 0 0 1 0 1 0 0 1 1 1 1 0 1 1 0 1 1 1 1 1 1 0 1 0 0 1 1 0 Ejercicio: Para representaciones de 4 bits realizar las multiplicaciones siguientes: (6)*(3) (6)*(-3) (-6)*(3) (-6)*(-3) Realización: (6) = (0110) (-6) = (1010) (3) = (0011) (-3) = (1101) Realización combinacional del Algoritmo de Booth Modificado.

PROBLEMA 1: Realizar el producto de (23)*(-7)= -161 usando representaciones de 6 bits en C-2 y una realización combinacional basada en el algoritmo de Booth Modificado. 0 1 0 1 1 1 (-23) C1 = 101000 * 1 1 1 0 0 1 0 1 0 1 1 1 * 0-2 1 0 0 0 0 0 0 1 0 1 1 1 C 0 = 0 Des 0 =0 1 1 1 0 1 0 0 0 0 C 1 = 1 Des 1 =1 0 0 0 0 0 0 0 C 2 = 0 Des 2 =0 0 0 0 0 0 0 1 0 1 1 1 C 0 = 0 Des 0 =0 1 1 1 0 1 0 0 0 0 0 0 C 1 = 1 Des 1 =1 0 0 0 0 0 0 0 1 0 C 2 = 0 Des 2 =0 0 0 0 1 1 1 1 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 0 1 1 1 1 1 (-161) Retardo =? PROBLEMA 2: Realizar el producto de (10)*(-7) usando representaciones de 6 bits en C-2 y una realización combinacional basada en el algoritmo de Booth Modificado. Da el tiempo de retardo total (= Niveles de puertas lógicas). PROBLEMA 3: Realizar el producto de (-20)*(+6) usando representaciones de 6 bits en C-2 y una realización combinacional basada en el algoritmo de Booth. Da el tiempo de retardo total (= Niveles de puertas lógicas).

PROBLEMA 2: Producto de (10) * (-7) con 6 bits y C-2 con Booth M. SOLUCIÓN: (10) = 001010 (10) C1 = 110101 (10) C2 = 110110 ( 7) = 000111 (-7) C1 = 111000 (-7) C2 = 111001 M = 0 0 1 0 1 0 m = * 1 1 1 0 0 1 0 0 1 0 1 0 P ij * 0-2 1 0 0 0 0 0 0 0 0 1 0 1 0 C 0 = 0 Des 0 = 0 + 1 1 1 1 1 0 1 0 1 0 C 1 = 1 Des 1 = 1 0 0 0 0 0 0 0 0 C 2 = 0 Des 2 = 0 en realidad es así : P ij 0 0 0 0 0 0 0 0 1 0 1 0 + 1 1 1 1 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 1 0 1 1 1 0 1 0 (-70) C2 Retardos: 6 de Productos Parciales 2*2 de CSAs 8 de AA de 12 bits. 18 Retardos.

PROBLEMA 3: Producto de (-20) * ( 6) con 6 bits y C-2. Con Booth Modificado SOLUCIÓN: (20)= 010100 (20) C1 = 101011 (20) C2 = 101100 ( 6)= 000110 M = 1 0 1 1 0 0 m = * 0 0 0 1 1 0 1 0 1 1 0 0 * 0 2-2 0 0 0 0 0 0 1 0 0 1 1 0 C 0 = 1 Des 0 = 1 + 1 1 1 1 0 1 1 0 0 0 C 1 = 0 Des 1 = 1 0 0 0 0 0 0 0 0 C 2 = 0 Des 2 = 0 0 0 0 0 0 0 1 0 0 1 1 0 + 1 1 1 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 1 1 1 1 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 1 0 + 1 1 1 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 1 1 1 1 1 0 0 0 1 0 0 0 (120) C2

PROBLEMAS PROPUESTOS PARA CASA. P1/ Especifica cuantos niveles de puertas lógicas se necesitan para realizar un multiplicador de números de 16 bits, según el Algoritmos de Booth y el de Booth Modificado. P2/ Realiza la multiplicación según la realización combinacional del algoritmo de Booth Modificado de los siguientes números. (23) * (-117) con N= 8 bits (resultado en 16 bits). ( 6) * ( -5) con N= 6 bits (y resultado en 12 bits). (21) * ( -23) con N= 8 bits (y resultado en 16 bits). P3/ Realiza la multiplicación según la realización combinacional del algoritmo de Booth Modificado de los siguientes números. (-33) * (-10) con N= 8 bits (y resultado en 16 bits). P4/ Que diferencias has encontrado entre las dos realizaciones con lógica combinacional estudiadas para la multiplicación de números en complemento a 2. Es decir, diferencias entre la realización combinacional del algoritmo de Booth y la realización de de Booth Modificado. P5/ Tienes que multiplicar dos números de 32 bits. Da los niveles de retardo de la realización combinacional del algoritmo de Booth y la realización de Booth Modificado. Da una tabla en la que se muestre que realización es más conveniente según el número de bits a multiplicar.