La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Aritmética PARA COMPUTADORAS

Presentaciones similares


Presentación del tema: "Aritmética PARA COMPUTADORAS"— Transcripción de la presentación:

1 Aritmética PARA COMPUTADORAS
ITCR – SSC I Semestre 2012

2 La semana anterior… Infraestructura de Software
Aspectos introductorios sobre Aritmética de Computadores

3 Prueba Corta #2 Mencione y explique brevemente los pasos (herramientas o aplicaciones) que interfieren en la generación de un archivo ejecutable, partiendo desde un programa implementado en lenguaje de alto nivel. Sistemas numéricos Convertir a decimal los números binarios: , Convertir a binario los números decimales: 1463, 1022, y 333 Convertir a base 16: 3191 (10), 210 (10), y (2) Mencione la(s) diferencia(s) entre la tecnología multi-core y aquellas de multiprocesamiento como HyperThreading, en el caso de en Intel.

4 Aritmética para Computadoras
Conceptos, representación, operaciones aritméticas…

5 ARITMETICA PARA COMPUTADORAS: UNIDAD ARITMÉTICA Y LÓGICA
Objetivo Estudio de uno de los Componentes Clásicos de una Computadora Unidad Aritmético Lógica (ALU) ALU Hace los cálculos El resto de los elementos de la computadora están para suministrar datos a la ALU UDC, Registros, Memoria, E/S Maneja enteros Puede manejar números de punto flotante (reales) Puede ser una FPU separada (coprocesador matemático)

6 ALU Entradas y Salidas

7 Solo para recordar… Notación, notación expandida…
Escribir en notación expandida los números: 2468 Ejemplo: Expresar el número en notación expandida. Solución: Haciendo uso de la forma general y la notación expandida obtenemos. S2S1S0.S-1S-2 S-3 = 8 * * * * * * 10-3 /10 + 2/ /1000

8 Solo para recordar… Sistemas de numeración
Conjunto de símbolos usados para representar información numérica. El número de símbolos de este conjunto depende de la base del sistema de numeración. Ejemplos: Binario {0,1} Octal {0,1,2,3,4,5,6,7} Decimal {0,1,2,3,4,5,6,7,8,9} Hexadecimal {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}

9 Solo para recordar… Aritmética Binaria
No es más que aquella aritmética que se da en el sistema de numeración de base 2, y que es utilizada para construir los códigos del computador. Operaciones aritméticas: Suma, Resta, Multiplicación y División

10 Representación de Enteros
Solo tenemos 0 y 1 para representar todo Números positivos almacenados en binario Ejemplo, 43= No hay signo menos No hay puntos Representación de positivos y negativos Signo-Magnitud Complemento a uno Complemento a dos

11 Signo-Magnitud El bit de la izquierda es el bit de signo (por ejemplo, la IBM 7090 utilizó esta representación) 0 significa positivo 1 significa negativo Ejemplo +18 = -18 = Problemas Se necesita considerar signo y magnitud en la aritmética Dos representaciones del cero (+0 y -0)

12 Signo-Magnitud Ejemplo
El número -9710, que siendo negativo, llevará como bit de signo un 1 Se realiza la conversión: el valor absoluto de es |-9710| = Que en binario es: ; Se coloca todo junto, el número en binario con formato de Signo y Magnitud es: Donde el 1 en el bit más significativo indica un número negativo, y es el significando en valor absoluto.

13 Signo-Magnitud Ejemplo
Para el caso inverso, dado un número binario en Signo y Magnitud, por ejemplo, , procedemos a: Analizar el bit más significativo, que siendo un 1 indica que el número es negativo Convertir el significando a la base deseada, por ejemplo, en decimal, tomando en cuenta que el valor obtenido está en valor absoluto y la magnitud real estará dada por el bit de signo obtenido antes: = |5310|. Siendo que el bit de signo es 1, el número real es Si el bit de signo fuese 0, el número hubiese sido

14 Signo-Magnitud Desventajas de la representación en Signo y Magnitud
Es más complejo operar aritméticamente. Para realizar una suma, por ejemplo, primero hay que determinar si los dos números tienen el mismo signo, y en caso de que sea así, realizar la suma de la parte significativa, pero en caso contrario, restar el mayor del menor y asignar el signo del mayor. Posee doble representación del cero. Al representar en Signo y Magnitud, aparece el cero signado: (+010) y (-010).

15 Complemento a Uno Otro enfoque sería representar números negativos usando el complemento a la base menos uno (común en computadoras más antiguas; el PDP-1 y la serie de UNIVAC 1100/2200) En el caso de los números binarios, sería el complemento a uno y la forma del complemento a uno de un número binario es un NOT bit a bit aplicado al número, es decir, la inversión de unos por ceros y ceros por unos. De esta forma, en la representación por Complemento a uno de un número signado de n-bits asignamos: Un bit para representar el signo. Ese bit a menudo es el bit más significativo y, por convención: un 0 denota un número positivo, y un 1 denota un número negativo; Los (n-1)-bits restantes para representar el significando que es la magnitud del número en valor absoluto para el caso de números positivos, o bien, en el complemento a uno del valor absoluto del número, en caso de ser negativo.

16 Complemento a Uno Ejemplo:
Supongamos que tenemos que representar el número Procedemos a: Tomar nota del signo del número -9710, que siendo negativo, llevará como bit de signo un 1; Como el signo es negativo, el número a continuación del bit de signo, deberá expresarse en complemento a uno. Al realizar la conversión: el valor absoluto de es |-9710| = Que en binario es: , y el complemento a uno de es C1( ) = ; Colocar todo junto, el número en binario con formato de Complemento a uno es: Donde el 1 en el bit más significativo indica un número negativo, y es el significando en complemento a uno del valor absoluto del número.

17 Complemento a Uno Desventajas
Posee doble representación del cero. Al representar en Complemento a uno, aparece nuevamente el cero signado: (+010) y (-010).

18 Complemento a Dos El sistema más empleado para representar números binarios con signo es el de complemento a 2. Para considerar este último sistema es necesario tener en cuenta el complemento a 1, el cual se obtiene cambiando cada bit del número por su complemento. El complemento a 2 de un número binario se obtiene tomando el complemento a 1 y sumándole una unidad al bit menos significativo

19 Complemento a Dos Ejemplo:
Para representar el número con signo +43 se agrega un bit 0 adelante del número binario puro, así: 43 = +43=

20 Complemento a Dos En cambio para obtener el número negativo –43 se encuentra el complemento a 2 del número positivo: Número binario positivo: Complemento a 1: ___ +1 Complemento a 2: Por lo que: = -43

21 Complemento a Dos Ventajas de la representación en Complemento a dos
No posee doble representación del cero. Permite operar aritméticamente.

22 Complemento a Dos +3 = 00000011 +2 = 00000010 +1 = 00000001
+0 = -1 = -2 = -3 =

23 Negación caso especial #1
0 = Negación bit a bit Agrega 1 al LSB +1 Resultado Se ignora el overflow

24 Negación caso especial #2
-128 = Negación de bits Suma 1 al LSB Resultado Tal que: (-128) = -128

25 Rango de Números 8 bits complemento a 2 16 bits complemento a 2
+127 = = -128 = = 16 bits complemento a 2

26 Conversión entre Longitudes
Números positivos con ceros a la izquierda +18 = +18 = Números negativos con unos a la izquierda -18 = -18 =

27 Representación de enteros de 4 bits

28 Representación de Enteros
Ejercicios: Representar los siguientes números binarios con signo, utilizando complemento a uno y a dos: -13 + 15 -19

29 Operaciones aritméticas
Suma, Resta, División, Multiplicación

30 Suma y Resta Suma binaria normal El bit de signo monitorea el overflow
Hacer el complemento a dos del substraendo y súmalo al minuendo Ejemplo. a - b = a + (-b) Sólo necesitamos circuitería para la suma y el complemento

31 Suma Binaria Suma binaria
La tabla de la adición binaria se representa : 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0, Llevando 1 = 1, Llevando 1 La adición es conmutativa, es decir 1 + 0=1 y 0 + 1=1. Observe que, la operación se realiza exactamente igual que en el sistema de numeración decimal teniendo en cuenta que si se excede la base se lleva como acarreo una unidad en la siguiente cifra de orden superior. En la tabla se indica que =10 y debe entenderse 10 en base binaria (102) que es el equivalente del 2 en el sistema decimal.

32 Suma Binaria Ejemplo : Sume la primera columna (la que está más a la derecha), en este caso: = 0, con uno que se lleva. El siguiente paso consiste en sumar: = 0, con uno que se lleva. Sumamos = 1, con 1 que se lleva. Luego 1 + 0= 1

33 ¿Los resultados son correctos?
Suma Binaria Ejemplos ¿Los resultados son correctos?

34 Suma Binaria Ejercicios Realizar las operaciones siguientes.

35 Sustracción Binaria Recordar que la resta no es conmutativa y por tanto deben distinguirse los elementos que intervienen en la misma. El minuendo es el elemento del cual se resta el sustraendo. Al igual que en el sistema de numeración decimal se tiene en cuenta que si se excede la base se lleva en la siguiente cifra una unidad de orden superior

36 Sustracción Binaria 0 - 0 = 0 1 - 0 = 1 1 - 1 = 0 0 – 1= 1, prestando un 1 de la siguiente columna En esta última se toma un 1 del número de la izquierda, es decir de la columna de orden inmediato superior para conformar la operación: – 1= 1. Si el minuendo es negativo, la operación se convierte en una adición con el resultado negativo.

37 Sustracción Binaria Ejemplos:
Observar que prestamos un 1 de la tercera columna debido a la diferencia de 0 – 1 en la segunda columna.

38 Sustracción Binaria Ejercicios: Desarrollar las sustracciones:

39 Hardware para Suma y Resta

40 Multiplicación Binaria
En la multiplicación los elementos se llaman multiplicando y multiplicador, y que el operador es el signo (*). La multiplicación binaria es conmutativa, asociativa y distributiva con relación a la suma. 0 * 0 = 0 0 * 1 = 0 1 * 0 = 0 1 * 1 = 1 Para multiplicar números que tienen parte entera y parte fraccionaria se opera igualmente como en el sistema decimal. Donde, para colocar el punto binario se cuenta la cantidad de cifras fraccionarias tanto en el multiplicando como en el multiplicador, y esta cantidad se separa en el producto o resultado.

41 Multiplicación Binaria
Compleja Generación de productos parciales uno para cada dígito del multiplicador Tener cuidado con donde ponemos cada valor (en que columna) Sumar productos parciales

42 Multiplicación Ejemplos: Ejercicios:
Efectuar las multiplicaciones indicadas: a) * 101 b) * 1.01

43 Ejemplo de Multiplicación

44 Diagrama de bloques para la multiplicación binaria sin signo

45 Ejemplo de la Ejecución

46 Diagrama de flujo para la multiplicación de binarios sin signo

47 Multiplicando Números Negativos
¡Lo anterior no funciona! Solución 1 Convertir a positivo si se requiere Multiplica como se hizo anteriormente Si los signos fueron diferentes, negar el resultado Solución 2 El algoritmo de Booth

48 Algoritmo de Booth

49 Ejemplo de Ejecución

50 División Binaria En esta operación binaria los elementos son el dividendo y divisor. Como en la división decimal de enteros, un residuo es posible cuando un entero binario se divide por otro. Procedimiento: Se toma el mismo número de cifras en el dividendo que las que tiene el divisor, si no alcanza se toma una más. Se resta, se baja la siguiente cifra y se sigue el mismo procedimiento

51 División Binaria Así mismo, la división de fracciones binarias se maneja de la misma manera que la división de fracciones decimales; comprobémoslo revisando para ello el algoritmo: Desplazar el punto binario, tanto en el dividendo como en el divisor, hasta que el divisor sea un número entero. Cuando el número de cifras fraccionarias del divisor es mayor que las del dividendo, es necesario agregar a este último los ceros que se precisen. Luego, se determina si el número de cifras del divisor es igual o menor que el número de dígitos de la izquierda del dividendo. Si así sucede, se escribe un (1) en el cociente y el divisor se resta de esos dígitos, y a este residuo se le agrega la cifra siguiente del dividendo. Si, por el contrario, el divisor es superior a los dígitos Ejemplo: 10.01 ÷ 1.1

52 División Binaria Ejercicios: Efectuar las divisiones siguientes:
1111 ÷ 101 b) 1011 ÷ 11

53 División Binaria Ejercicios: Efectuar las divisiones siguientes:
1111 ÷ 101 b) ÷ 1.11

54 División de números binarios sin signo

55 Números Reales Números con fracciones
Podrían representarse en binario puro ¿Dónde está el punto binario? ¿Fijo? Muy limitado ¿Moviéndolo? ¿Cómo sabemos dónde está?

56 Punto Flotante +/- .mantisa x
El punto está fijo entre el bit de signo y el cuerpo de la mantisa El exponente indica la posición del punto

57 Ejemplos de Punto Flotante

58 Signos para Punto Flotante
La mantisa se guarda en complemento a 2 Los exponentes son sesgados, un valor fijo o sesgo se resta a ese campo para conseguir el exponente verdadero Ejemplo. Sesgo =128 Tenemos un campo exponente de 8 bits Rango de valores puros es de 0-255 Le restamos 128 para obtener el valor correcto Rango -128 a +127

59 Normalización Los números PF usualmente están normalizados
El exponente se ajusta que el bit más significativo de la mantisa es 1 Como siempre es 1 no se requiere almacenarlo La notación científica donde los números están normalizados para tener un sólo dígito antes del punto decimal

60 Rangos de PF Para un número de 32 bits Precisión Exponente de 8 bits
El efecto de cambiar 1sb (bit menos significativo) de la mantisa Aproximadamente 6 posiciones decimales

61 Números Representables

62 FIN


Descargar ppt "Aritmética PARA COMPUTADORAS"

Presentaciones similares


Anuncios Google