Organización del Computador I Verano. Aritmética (4 de 5) Basado en el capítulo 4 del libro de Patterson y Hennessy Multiplicaciones y Divisiones

Documentos relacionados
ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

Algoritmos de multiplicación y división.

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

Guía práctica de estudio 06: Lenguaje binario

Primera versión del Algoritmo y Hardware de la Multiplicación.

+18 = =

Operaciones Aritméticas en Números con Signo

MATEMÁTICAS PARA LA COMPUTACIÓN CAPÍTULO 1. SISTEMAS NUMÉRICOS

Pipeline (Segmentación)

Bloques Aritméticos - Multiplicadores

TEMA 1: INTRODUCCIÓN A LOS SISTEMAS DIGITALES.

Organización procesador MIPS

UNIDAD DIDÁCTICA #1 CONTENIDO

Capítulo 5. Los números reales y sus representaciones Pearson Education, Inc. Diapositiva 5-5-1

Pipeline o Segmentación Encausada

Aritmética del computador. Departamento de Arquitectura de Computadores

Convenciones. Introducción. Unidades principales en la implementación. El procesador: camino de datos y control. Tipos de elementos:

Representación de datos y aritmética básica en sistemas digitales

A veces, un número no se dividirá equitativamente. Cuando esto sucede, tenemos un resto.

Arquitectura de Computadores y laboratorio Clase 15: Arquitectura MIPS Pt.3. Departamento de Ingeniería de Sistemas Universidad de Antioquia

Computación I Representación Interna Curso 2011

74 Prime Time. conjetura Suposición acerca de un patrón o relación, basada en observaciones.

CAPÍTULO 4: VARIABLES Y RAZONES

El Diseño de un Lenguaje Máquina

TEMA 4. ARQUITECTURA IA-64

Subsistemas aritméticos y lógicos. Tema 8

ELO311 Estructuras de Computadores Digitales. Unidad Aritmética

RECONOCER EL GRADO, EL TÉRMINO Y LOS COEFICIENTES DE UN POLINOMIO

Diseño de Operadores Aritméticos en Punto Flotante usando FPGAs

UNIDAD III NÚMEROS FRACCIONARIOS

REPERTORIO DE INSTRUCCIONES MIPS

Divisores Binarios. D = d *Q + R. con la condición de que el resto sea menor que el divisor, es decir 0 R d.

Diseño de Operadores Aritméticos

Trabajo Práctico Nro 3: Assembler

Sistemas de Numeración Operaciones - Códigos

MANUAL EASYCHAIR. A) Ingresar su nombre de usuario y password, si ya tiene una cuenta registrada Ó

Identificación. Propuesta didáctica: unidad Didáctica. Resumen: QUINTO de primaria matemática. Nivel: Primario. Grado: Quinto

Prueba de Aptitud Académica. Profesor José A. Barreto G. Caracas Venezuela

SUMADOR RESTADOR DE 3 BITS EN BINARIO NATURAL.

FUNDAMENTOS DE SISTEMAS DIGITALES. Tema 2: Lógica combinacional (I): Funciones aritmético-lógicas

Tema IV. Unidad aritmético lógica

UNIDAD 4: El procesador: Camino de los datos y Control.

Arquitecturas RISC. Arquitectura de Computadoras y Técnicas Digitales - Mag. Marcelo Tosini Facultad de Ciencias Exactas - UNCPBA

Aritmética de Enteros

Unidad Aritmético Lógica. Escuela Superior de Informática Universidad de Castilla-La Mancha

Operaciones con números racionales. SUMA/RESTA.

1) Through the left navigation on the A Sweet Surprise mini- site. Launch A Sweet Surprise Inicia Una dulce sorpresa 2016

Universidad Tecnológica Nacional Facultad Regional Tucumán Ingeniería Electrónica Asignatura: Informática I 1R2 Trabajo Práctico N 1 - Año 2015

MATEMÁTICAS PARA LA COMPUTACIÓN CAPÍTULO 1. SISTEMAS NUMÉRICOS

CONTROLADORA PARA PIXELS CONPIX

ARQUITECTURA DE COMPUTADORAS I. Prof. Rosendo Perez Revision 1.6d

Arquitectura de Computadores

Ejercicios del Capítulo 4

Glosario. equation: ecuación. divide: dividir. grouping problem: problema de agrupar. divided by: dividido por. division: división.

TEMA 6 ARITMÉTICA BINARIA Y CIRCUITOS ARITMÉTICOS

Flashcards Series 3 El Aeropuerto

PROBLEMAS DE DIAMANTE 2.1.1

OPERADORES: Maquinaria para realizar las instrucciones. Capítulo Tercero Fundamentos de Computadores Ingeniería de Telecomunicación

Sistemas Numéricos Transversal de Programación Básica Proyecto Curricular de Ingeniería de Sistemas

Arquitectura t de Computadores Clase 10: Diseño del microprocesador monociclo pt.2

Lección 7: POLINOMIOS

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

Criterios de divisibilidad

1. dejar a una lado de la igualdad la expresión que contenga una raíz.

Circuitos combinacionales aritméticos (Parte II)

PRÁCTICA Nº3. 1. TEMA : Conocimiento del software de desarrollo ATMEL Studio

TEMA 2: NÚMEROS ENTEROS 1º ESO. MATEMÁTICAS

Arquitecturas vectoriales, SIMD y extensiones multimedia

Save Money 2-up Single Doorhanger Set OH payday advance edition, 4 different doorhangers, Spanish

Organización del Computador I Verano. Memoria Virtual Basado en el capítulo 5 del libro de Patterson y Hennessy

2. EXPRESIONES ALGEBRAICAS

Tema 2: Arquitectura del repertorio de instrucciones. Visión del computador que tiene el programador en bajo nivel

Opuesto de un número +3 + (-3) = (+5) = 0. N = 0,1, 2,3,4, Conjunto de los números naturales

k k N b Sistemas Númericos Sistemas con Notación Posicional (1) Sistemas con Notación Posicional (2) Sistemas Decimal

Resumen Lenguaje Java

Flashcards Series 5 El Agua

Un monomio es el producto indicado de un número por una o varias letras GRADO 4º

Sistemas Numéricos y Códigos Binarios

Números Naturales. Cero elemento neutro: = 12 Sucesión fundamental : se obtiene el siguiente número = 9

Los números racionales: Q

Arquitectura Segmentada: Conceptos básicosb

Cómo comprar en la tienda en línea de UDP y cómo inscribirse a los módulos UDP

TALLER 1 FORMAS DE REPRESENTACIÓN

UNIDAD: NÚMEROS Y PROPORCIONALIDAD. Los elementos del conjunto IN = {1, 2, 3, 4, 5, 6, 7,...} se denominan números

Representación de la Información.... en los Computadores

EJERCICIOS RESUELTOS DEL TEMA 5

Vamos a Multiplicar Al estilo maya!

I.E.S. Tierra de Ciudad Rodrigo Departamento de Matemáticas TEMA 6. POLINOMIOS

ELO211: Sistemas Digitales. Tomás Arredondo Vidal 1er Semestre 2008

MATEMATICA GRADO 9 II PERIODO PROF. LIC. ESP. BLANCA NIEVES CASTILLO R. CORREO: cel

Circuitos Digitales II y Laboratorio Fundamentos de Arquitectura de Computadores

UNIDAD DE APRENDIZAJE I

LAS MATEMÁTICAS MAYAS INTRODUCCIÓN NUMERACIÓN. Botana Olañeta, Pablo. Estudiante 1º ESO I.E.S. Fraga do Eume Pontedeume (A Coruña)

COMPUTADORES SEGMENTADOS (DLX)

Se dice que dos monomios son semejantes cuando tienen la misma parte literal

Operaciones de números racionales

Operadores. Javier Fernández Rivera -

Sistemas de Representación. Organización del Computador 1 Verano 2016

El lenguaje ensamblador depende directamente de la arquitectura del computador. Por tanto cada arquitectura tiene su propio lenguaje ensamblador.

Read all instructions BEFORE assembly and USE of product. KEEP INSTRUCTIONS FOR FUTURE USE.

Transcripción:

Organización del Computador I Verano Aritmética (4 de 5) Basado en el capítulo 4 del libro de Patterson y Hennessy Multiplicaciones y Divisiones Verano 2014 Profesora Borensztejn

MULTIPLICACIONES 1011 1011 1011 1100 0000 0000 10000100 Si el multiplicador y el multiplicando son de n bits, el número de dígitos del producto puede tener hasta 2n bits. El algoritmo de multiplicación básico es igual al que todos sabemos: Repetir 32 veces: 1. Comprobar el bit mas bajo del multiplicador, si es uno, sumar el multiplicando al producto 2. Desplazar el multiplicando 1 bit a la izquierda 3. Desplazar el multiplicador 1 bit a la derecha

Hardware del multiplicador El control genera las señales apropiadas, en el momento apropiado: Chequea el bit0 Si bit0=1, activa write del producto Activa las señales shift left y shift right. El multiplicando se inicializa con la mitad superior en cero. El multiplicando, el multiplicador y el producto se guardan en registros.

Algoritmo y Hardware de la Multiplicación Cada iteración en un ciclo de reloj Initially 0

Algoritmo de la multiplicación Las siguientes operaciones se realizan en paralelo: Shift del multiplicando Shift del multiplicador Suma del multiplicando al producto si el bit del multiplicador es 1 Un ciclo por suma parcial. No esta mal, si la frecuencia de multiplicaciones es baja.

Ejemplo: 2*3

Mejora del Algoritmo de la Multiplicación Para que usar un sumador de 64 bits si la mitad del registro multiplicando está vacío? Idea: Dejar fijo el multiplicador y hacerlo de 32 bits Sumarlo a la parte alta del producto, con un sumador de 32 bits En cada iteración, desplazar el producto a la derecha

Mejora al algoritmo de la multiplicación Suma el multiplicando a la parte alta del producto, luego de sumar desplaza a la derecha el producto. Trabaja con un sumador de 32 bits. Multiplicando ALU de 32 bits 32 bits suma Shift Right Multiplicador 32 bits bit0 Producto Shift Right 64 bits Write Control

Más mejoras al algoritmo de la multiplicación Guarda el multiplicador en la parte baja del registro producto.

Multiplicaciones con signo 0100 0000 0000 1011 0000 1011 00101100 No funciona! Que sucede si el multiplicando es negativo? Hay que extender el signo mientras lo acumulamos en el registro producto 0100 0000 0000 111011 0000 1011 11101100

Multiplicaciones con signo 1100 0000 0000 1011 1011 1011 11000100 No funciona! Que sucede si el multiplicador es negativo? No tiene sentido!!!!

Multiplicaciones con signo 1100 0000 0000 1011 1011 1011 11000100 No funciona si interpretamos los números con signo! Alternativas: Convertir el multiplicando y el multiplicador a números positivos, luego multiplicar, y luego aplicar el signo correspondiente al producto, recordando extender el signo a la izquierda. Buscar otros algoritmos

Multiplicaciones rápidas En lugar de un sumador, se usan 31 organizados de forma jerárquica para que el retardo sea mínimo Se mejoran los sumadores Se aplica la técnica de segmentación

Ambas instrucciones dejan la palabra de menos peso en el registro Lo y la palabra de mas peso en el registro Hi. Ambas instrucciones ignoran el desbordamiento si el producto no cabe en 32 bits. Desbordamiento para números sin signo: el registro Hi es distinto de cero. Desbordamiento para números con signo: el registro Hi es distinto de la extensión de signo del registro Lo. MIPS: MULT y MULTU mult rs, rt 31 26 21 16 11 6 0 0 rs rt 0 0x18 multu rs, rt 31 26 21 16 11 6 0 0 rs rt 0 0x19

MIPS Multiplication Two 32-bit registers for product HI: most-significant 32 bits LO: least-significant 32-bits Instructions mult rs, rt / multu rs, rt 64-bit product in HI/LO mfhi rd / mflo rd Move from HI/LO to rd Can test HI value to see if product overflows 32 bits PSEUDOINSTRUCCIÓN mul rd, rs, rt Least-significant 32 bits of product > rd Chapter 3 Arithmetic for Computers 15

La División Dividendo Divisor - 1001010 1000 1000 1001 00010 101 Cociente - 1010 1000 10 Resto Dividendo=Cociente*Divisor + Resto

Division divisor quotient dividend remainder 1001 1000 1001010-1000 10 101 1010-1000 10 n-bit operands yield n-bit quotient and remainder Chapter 3 Arithmetic for Computers 17 Check for 0 divisor Long division approach If divisor dividend bits 1 bit in quotient, subtract Otherwise 0 bit in quotient, bring down next dividend bit Restoring division Do the subtract, and if remainder goes < 0, add divisor back Signed division Divide using absolute values Adjust sign of quotient and remainder as required

Division Hardware Initially divisor in left half Initially dividend Chapter 3 Arithmetic for Computers 18

Hardware del divisor El control genera las señales apropiadas, en el momento apropiado. El algoritmo es el de prueba y error. Si hubo error (nocabe) hay que restaurar el valor del resto. El resto se inicializa con el dividendo. El divisor, a cada iteración se desplaza a la derecha para alinearse con el dividendo. Ocupa inicialmente los 32 bits más altos del registro de 64 bits.

Copyright 2014 Elsevier Inc. All rights reserved. 20

Ejemplo: 7 div 2 Iteración Paso Cociente Divisor Resto 0 inicio 0 0010 0000 0000 0111 1 resto - divisor 0 0010 0000 1110 0111 resto < 0 0 0010 0000 0000 0111 desplazar divisor 0 0001 0000 0000 0111 2 resto - divisor 0 0001 0000 1111 0111 resto < 0 0 0001 0000 0000 0111 desplazar divisor 0 0000 1000 0000 0111 3 resto - divisor 0 0000 1000 1111 1111 resto < 0 0 0000 1000 0000 0111 desplazar divisor 0 0000 0100 0000 0111 4 resto - divisor 0 0000 0100 0000 0011 resto > 0 1 0000 0100 0000 0011 desplazar divisor 1 0000 0010 0000 0011 5 resto - divisor 1 0000 0010 0000 0001 resto > 0 11 0000 0010 0000 0001 desplazar divisor 1 0000 0001 0000 0011 El divisor es de 32 bits, y se va desplazando a la derecha en un registro de 64 bits è se puede ahorrar espacio, y hardware si en lugar de desplazar el divisor a la derecha, se desplaza el resto a la izquierda. (mismo cambio que en el multiplicador). La ALU queda ahora de 32 bits.

Mejora al algoritmo de la división FIGURE 3.11 An improved version of the division hardware. The Divisor register, ALU, and Quotient register are all 32 bits wide, with only the Remainder register left at 64 bits. Compared to Figure 3.8, the ALU and Divisor registers are halved and the remainder is shifted left. This version also combines the Quotient register with the right half of the Remainder register. (As in Figure 3.5, the Remainder register should really be 65 bits to make sure the carry out of the adder is not lost.) Copyright 2014 Elsevier Inc. All rights reserved. 22

Ejemplo : 7 div 2 Iteración Paso Divisor Resto 0 inicio 0010. 0000 0111 desplazar resto 0010. 0000 1110 1 resto - divisor 0010. 1110 1110 resto <0, desplaza resto, 0 en coc. 0010. 0001 1100 2 resto - divisor 0010. 1111 1100 resto <0, desplaza resto, 0 en coc. 0010. 0011 1000 3 resto - divisor 0010. 0001 1000 resto >0, desplaza resto, 1 en coc. 0010. 0011 0001 4 resto - divisor 0010. 0001 0001 resto >0, desplaza resto, 1 en coc. 0010. 0010 0011 5 desplazar resto 0001 0011

MIPS Division Use HI/LO registers for result HI: 32-bit remainder LO: 32-bit quotient Instructions div rs, rt / divu rs, rt No overflow or divide-by-0 checking Software must perform checks if required Use mfhi, mflo to access result Chapter 3 Arithmetic for Computers 24

Mismo hw para multiplicar y dividir

Observaciones La multiplicación y la división son procesos iterativos, y necesitan de algoritmos Los algoritmos se realizan en hardware utilizando elementos de almacenamiento (registros), es decir, son sistemas con memoria o secuenciales.

División con signo La solución mas simple es operar con los valores absolutos. Luego se ajustan los signos del cociente y del resto. Se debe cumplir que: Dividendo=Cociente*Divisor + Resto Regla: El dividendo y el resto deben tener el mismo signo

FIN Aritmética (4 de 5)