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.

Slides:



Advertisements
Presentaciones similares
Fundamentos de Computadores Tema 8 La ALU de enteros y la aritmética de coma flotante.
Advertisements

Representación de Reales
Aproximaciones y errores de redondeo
LA UNIDAD ARITMÉTICA Y LÓGICA
Computación Científica
Unidades aritmético lógicas
Sistemas de Numeración
M. en C. José Andrés Vázquez Flores
Organización del Computador 1 Sistemas de Representación.
Unidad 4: Unidad de Ejecución
Et = valor verdadero – aprox.
Aritmética PARA COMPUTADORAS
Representación de reales y caracteres Mariano M. Moscato Organización del computador I verano 2008.
LA UNIDAD ARITMÉTICA Y LÓGICA
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.

Subsistemas aritméticos y lógicos
 El producto de dos fracciones es otra fracción cuyo numerador es el producto de los numeradores, y cuyo denominador es el producto de los denominadores,
@ Angel Prieto BenitoApuntes Matemáticas 2º ESO1 U.D. 2 * 2º ESO FRACCIONES.
Conversión a formato de Punto Flotante.
Números enteros y Racionales
Representación de números en binario
Potenciación Bibliografía: el mentor de matemática Grupo Océano
1.1 – Clasificación de los números reales
Tipos de Datos: Punto Flotante
Exponentes Racionales y Radicales
CONJUNTO DE NÚMEROS ENTEROS
Aritmética en computadora
Microprocesador Estructura interna.
NÚMEROS ENTEROS Símbolo:.
Índice Algebra operativa.
Unidad aritmético-lógica
Tema 4 Elementos para el Desarrollo de Algoritmos
Apuntes de Matemáticas 3º ESO
Tema 2 LÓGICA COMBINACIONAL (I): FUNCIONES ARITMÉTICO- LÓGICAS (Tema 5 del libro) 1.
Apuntes de Matemáticas 3º ESO
Tema 4 Elementos para el Desarrollo de Algoritmos
Aritmética binaria.
Organización del Computador 1 Sistemas de Representación.
UNIDAD 04 Los números enteros
TEMA Nº 1 Conjuntos numéricos. Aprendizajes esperados: Utilizar y clasificar los distintos conjuntos numéricos en sus diversas formas de expresión, tanto.
De N a R Inserte el nombre del grupo de trabajo en el patrón de diapositivas Cardinales Enteros Racionales Irracionales Naturales Página principal Reales.
Cociente de un polinomio entre un monomio Para dividir un polinomio entre un monomio, dividimos cada término del polinomio entre el monomio. Ej:
DOCENTE: ANGEL PALACIO BIENVENIDOS AL MUNDO DEL
FRACCIONES Y DECIMALES
Conjuntos numéricos. objetivos: Utilizar y clasificar los distintos conjuntos numéricos en sus diversas formas de expresión. recordar la operatoria básica.
Unidad 3: Sistemas de Numeración. Í ndice Definición y Principios. Sistema de numeración decimal. Sistema de numeración binario. Conversión de un número.
CONJUNTO DE NÚMEROS ENTEROS Símbolo: Profesora: Silvina Acquaviva.
UNIDAD 4 OPERACIONES CON POLINOMIOS. MAPA DE NAVEGACIÓN Operaciones con Polinomios Índice Objetivo General Ejemplos Objetivo 1 Objetivo 2 Objetivo 4 Objetivo.
ÁLGEBRA. DEFINICIÓN DE ÁLGEBRA El Álgebra es una rama de las matemáticas que emplea números, letras y signos para hacer referencia a las distintas operaciones.
1 Conjuntos numéricos Índice del libro Números naturales
1 Números Índice del libro Los números reales
Ensamblador MC Beatriz Beltrán Martínez
Punto Flotante Además de los enteros, existen problemas que se desea modelar en la computadora que requieren de números fraccionarios, que en matemática.
Aritmética en computadora
Matemáticas Aplicadas CS I
PUNTO FIJO - PUNTO FLOTANE
Polinomios.
Operaciones combinadas
Números enteros.
CONJUNTO DE NÚMEROS ENTEROS Símbolo: Profesora: Silvina Acquaviva.
TEMA Nº 1 Conjuntos numéricos. Aprendizajes esperados: Utilizar y clasificar los distintos conjuntos numéricos en sus diversas formas de expresión, tanto.
1 Radicales Definición del concepto Vocabulario Propiedades de los radicales Simplificar expresiones con radicales Operaciones con radicales Resolver ecuaciones.
INTRODUCCIÓN A LA INFORMÁTICA
Unidad 1 Lección 3: Números Enteros Lección 4: Fracciones
Notación Cientifica Objetivo: Expresar un número utilizando notación cientifica.
CONJUNTO DE NÚMEROS ENTEROS Símbolo:.
Dr. Edwin Alfonso Sosa1 Aritmética: Propiedades y operaciones con números reales Fundamentos de álgebra Dr. Alfonso-Sosa.
SISTEMAS NUMERICOS “Introducción a la Programación” Rolando Montero.
Los polinomios son una parte importante del Álgebra. Están presentes en todos los contextos científicos y tecnológicos: desde los ordenadores y la informática.
Transcripción de la presentación:

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 de lo que puede ser representado. Operaciones con números reales. Universidad de Sonora2

Suma Sumar 7 más 6: Hay que tomar en cuenta los acarreos: Universidad de Sonora3

Resta Restar 7 – 6. Se puede hacer directo: O se puede usar una suma, recordando que 7 – 6 = 7 + (- 6): En conclusión, la resta se puede hacer con una suma. Universidad de Sonora4

Pero… Por cuestiones de eficiencia las sumas no se hacen bit a bit (sumador de ripple carry). Si dos bits se pueden sumar en un ciclo de reloj, dos números de n bits necesitan al menos 2n ciclos (un ciclo para la suma y otro para pasar el carry al siguiente paso). Hay algoritmos para hacer sumas rápidas. El más común se llama sumador de carry-lookahead (carry adelantado). Universidad de Sonora5

Suma de dos números de 1 bit abSC Universidad de Sonora6 S = a  b C = a. b

Suma de tres números de 1 bit Entrada: Dos números, a y b, de 1 bit. Un carry de entrada, c0, de 1 bit. Salida: La suma, S, de 1 bit. Un carry de salida, c1, de 1 bit. Universidad de Sonora7

Sumador completo (full adder) Universidad de Sonora8 abc0Sc S = a  b  c0 c1 = a. c + a. b + b. c

Suma de dos números de dos bits Entrada: Un número de 2 bits, A = a1a0. Un número de 2 bits, B = b1b0. Un carry de entrada, c0, de 1 bit. Salida: La suma, S, de dos bits, S = s1s0. Un carry de salida, c2, de 1 bit. Un carry intermedio, c1, de 1 bit. Universidad de Sonora9

Ecuaciones para los carries La suma es el or exclusivo de ai, bi, y ci. Nos enfocamos en los carries, ci. c1 = (b0. c0) + (a0. c0) + (a0. b0) c2 = (b1. c1) + (a1. c1) + (a1. b1) Sustituyendo c1 en c2: c2 = (a1. a0. b0) + (a1. a0. c0) + (a1. b0. c0) + (b1. a0. b0) + (b1. a0. c0) + (b1. b0. c0) + (a1. b1) Se puede calcular c1 y c2 en paralelo. Universidad de Sonora10

Pero… La ecuación para ci se expande conforme i crece. Con números de dos bits se requieren: 6 compuertas AND de 3 entradas. 1 compuerta AND de 2 entradas. 1 compuerta OR de 7 entradas. Para números de 32 bits el costo del hardware y de energía es prohibitivo. Hay que buscar otra solución, aunque no sea las más rápida. Universidad de Sonora11

Sumador de carry lookahead Se parte del principio: ci+1 = (bi. ci) + (ai. ci) + (ai. bi) = (ai. bi) + (ai + bi). ci Se reescribe la ecuación para c2: c2 = (a1. b1) + (a1. b1). ((a0. b0) + (a0 + b0). c0) Se nota que se repiten los factores (ai. bi) y (ai + bi). Se definen los factores genera (gi) y propaga (pi): gi = ai. bi pi = ai + bi Universidad de Sonora12

Genera y propaga Se rescribe la ecuación para ci+1: ci+1 = gi + pi. ci Si gi = 1: ci+1 = 1. Si gi = 0 y pi = 1: ci+1 = ci Universidad de Sonora13

Genera y propaga Usando la ecuación de ci+1 se definen los carries: c1 = g0 + (p0. c0) c2 = g1 + (p1. g0) + (p1. p0. c0) c3 = g2 + (p2. g1) + (p2. p1. g0) + (p2. p1. p0. c0) c4 = g3 + (p3. g2) + (p3. p2. g1) + (p3. p2. p1. g0) + (p3. p2. p1. p0. c0) Se pueden calcular los carries en paralelo. Las ecuaciones se complican rápidamente. Hay que buscar una forma de simplificar las ecuaciones. Universidad de Sonora14

Usando un segundo nivel de abstracción Suponer que se cuenta con un sumador de 4 bits con carry-lookahead. Se puede construir un sumador de 16 bits conectando 4 sumadores de 4 bits en serie (ripple). El carry de salida del sumador j se conecta al carry de entrada de sumador j + 1. El carry de entrada del sumador 0 es el carry inicial. El carry de salida del sumador 3 es el carry final. Universidad de Sonora15

Propaga de segundo nivel Se define la señal “súper” propaga: P0 = p3. p2. p1. p0 P1 = p7. p6. p5. p4 P2 = p11. p10. p9. p8 P3 = p15. p14. p13. p12 Universidad de Sonora16

Genera de segundo nivel Se define la señal “súper” genera G0 = g3 + (p3. g2) + (p3. p2. g1) + (p3. p2. p1. g0) G1 = g7 + (p7. g6) + (p7. p6. g5) + (p7. p6. p5. g4) G2 = g11 + (p11. g10) + (p11. p10. g9) + (p11. p10. p9. g8) G3 = g15 + (p15. g14) + (p15. p14. g13) + (p15. p14. p13. g12) Universidad de Sonora17

Carries de segundo nivel Los carries para cada sumador de 4 bits: C1 = G0 + (P0. c0) C2 = G1 + (P1. G0) + (P1. P0. c0) C3 = G2 + (P2. G1) + (P2. P1. G0) + (P2. P1. P0. c0) C4 = G3 + (P3. G2) + (P3. P2. G1) + (P3. P2. P1. G0) + (P3. P2. P1. P0. c0) Universidad de Sonora18

Conclusión Para hacer un sumador de 16 bits con carry-lookahead se necesitan: 4 sumadores con carry- lookahead de 4 bits. 1 unidad de carry-lookahead. Los carries de entrada de cada sumador de 4 bits se toma de la unidad de carry-lookahead. Universidad de Sonora19

Universidad de Sonora20

Ejemplo Calcular gi, pi, Pi, Gi y el carry final (C4) al sumar los siguientes dos números de 16 bits: Se obtiene gi = ai. bi y pi = ai + bi: Universidad de Sonora21

Ejemplo Se calculan los “súper” propaga (P0, P1, P2, P3): Y los “súper” genera: Universidad de Sonora22

Ejemplo Por último, el carry final (C4) En conclusión, al sumar a y b se obtiene un carry final. Universidad de Sonora23

Comparación Un sumador de 16 bits de ripple-carry necesita 32 ciclos. Un sumador de 16 bits de carry-lookahead necesita 5 ciclos: 1 ciclo para obtener pi y gi en paralelo. 2 ciclos para obtener Pi y Gi en paralelo. 2 ciclos para obtener C4. Universidad de Sonora24

Multiplicación Universidad de Sonora25

Algoritmo Universidad de Sonora26

Ejemplo Multiplicar 3 x 2 Universidad de Sonora27

Números con signos distintos Multiplicar 3 x (-2). Se le quita el signo al -2 y se guarda en alguna variable. Se multiplica 3 x 2 usando el algoritmo ya visto. Se multiplica el resultado por -1 para obtener -6. Universidad de Sonora28

Conclusión Para número de n bits, el algoritmo visto requiere al menos n ciclos. Existen algoritmos más rápidos (ver Universidad de Sonora29

División Universidad de Sonora30

Algoritmo Universidad de Sonora31

Ejemplo Dividir 7 / 2. Universidad de Sonora32

Números con signos distintos Si los signos del divisor y el dividendo difieren, se guarda un -1 en una variable, s, en otro caso s = 1. Se les quita el signo negativo y se procede con el algoritmo anterior. El resultado se multiplica por s. Universidad de Sonora33

Conclusión El algoritmo de división visto requiere al menos n + 1 ciclos para números de n bits. Hay algoritmos más rápidos (ver Universidad de Sonora34

Overflow El overflow ocurre cuando el resultado de una operación no se puede representar en el hardware. Con 4 bits, el rango de enteros con signo, usando complemento a dos para los negativos, es de -8 a +7. La suma genera overflow. La resta -5 – 6 genera overflow. Universidad de Sonora35

Overflow Sumando con 4 bits: 0101 (+5) (+6) (-5) ⇦ ¡error! Restando -5 – 6 con 4 bits: 1011 (-5) (-6) (+5) ⇦ ¡error! Universidad de Sonora36

Detectando overflow El overflow ocurre en la suma cuando: Al sumar dos positivos el resultado es negativo. Al sumar dos negativos el resultado es positivo. El overflow ocurre en la resta cuando: Al restar un negativo de un positivo el resultado es negativo. Al restar un positivo de un negativo el resultado es positivo. Universidad de Sonora37

Detectando overflow OperaciónABResultado indicando overflow A + B> 0 < 0 A + B< 0 > 0 A – B> 0< 0 A – B< 0> 0 Universidad de Sonora38

Detectando overflow Hacer la operación y revisar los signos de los operandos y del resultado. Si la operación es una suma, revisar que si los operandos son positivos el resultado sea positivo. Los demás casos se hacen igual. Universidad de Sonora39

Punto flotante Permite representar números reales con precisión finita.  = … es un número real es número real 7 x es un número real en notación científica y está normalizado. 0.5 x 10 4 no está normalizado. Universidad de Sonora40

En binario x x x x 2 -3 = En notación científica normalizada: x 2 4 Un número real normalizado siempre tiene un 1 en el lugar de las unidades. Universidad de Sonora41

Signo y magnitud Es un método para representar número de punto flotante en binario. Con 32 bits: s = 0 positivo; s = 1 negativo. El exponente incluye el signo del exponente. El número no debe ir normalizado. Universidad de Sonora42

Signo y magnitud El número se reconstruye: (-1) s x F x 2 E s es el signo (0 = positivo, 1 = negativo). F es la fracción de 23 bits. E es el exponente de 8 bits. Universidad de Sonora43

Ejemplo Representar x 2 4 en signo y magnitud. Se desnormaliza x 2 -3 Universidad de Sonora44 sEF

Overflow y underflow Se produce un overflow cuando un exponente positivo es tan grande que no cabe en el campo exponente. Se produce un underflow cuando un exponente negativo es tan grande que no cabe en el campo exponente. Se puede evitar el overflow y/o el undeflow usando precisión doble en lugar de precisión sencilla. Universidad de Sonora45

Precisión sencilla vs doble En Java: Universidad de Sonora46 TipoPrecisiónTamañoRango floatsencilla4 bytes e-45 a e+38 (positivo o negativo) doubledoble8 bytes e-324 a e+308 (positivo o negativo)

Standard IEEE Standard del IEEE (Institute of Electrical and Electronic Engineers) para cálculos de punto flotante. El standard define: Formatos para representar números Formatos de intercambio Reglas de redondeo Operaciones Manejo de excepciones Usado por toda CPU diseñada desde Universidad de Sonora47

Formatos Universidad de Sonora48 Ver

Precisión sencilla Los 32 bits se dividen en: 1 bit de signo (1 negativo, 0 positivo). 8 bits para el exponente. 23 bits para la mantisa. Universidad de Sonora49

Precisión sencilla Notas: 1. El exponente se guarda en exceso a En el campo de mantisa se guarda solo la parte fraccionaria, el 1 de la parte entera no se almacena. 3. La mantisa se guarda justificada a la izquierda rellenando de cero a la derecha si es necesario. 4. El número se reconstruye así: N = (-1) s x (1 + mantisa) x 2 E – 127 Universidad de Sonora50

Ejemplo Representar en el standard IEEE con precisión sencilla. El bit de signo es 0 Se pasa a binario … Se normaliza …x 2 4 El exponente, 4, en exceso 127 es 131. En binario es La parte fraccionaria de la mantisa extendida a 23 bits es En conclusión, se representa en binario como Universidad de Sonora51

Ejemplo Representar en el standard IEEE con precisión sencilla. El bit de signo es en binario es El binario normalizado es × 2 6 El exponente, 6, en exceso 127 es 133. En binario es La parte fraccionaria de la mantisa, rellenando con ceros a la derecha, es En conclusión se representa en binario como Universidad de Sonora52

Características principales Dos ceros: Cero positivo (+0): s = 0, e = 0, m = 0 Cero negativo (-0): s = 1, e = 0, m = 0 Dos infinitos: Infinito positivo: s = 0, e = 255, m = 0 Infinito negativo: s = 1, e = 255, m = 0 Dos NaN (not a number): NaN positivo: s = 0, e = 255, m > 0 NaN negativo: s = 1, e = 255, m > 0 Universidad de Sonora53

Características principales Números más grandes: Positivo: = × Negativo: = × Números más pequeños: Normalizado positivo: = × Normalizado negativo: = × Denormal positivo: = × Denormal negativo: = × Universidad de Sonora54

Resumen Universidad de Sonora55