La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Organización del Computador 1

Presentaciones similares


Presentación del tema: "Organización del Computador 1"— Transcripción de la presentación:

1 Organización del Computador 1
Representación binaria de Números Reales Sistemas de Representación

2 Tipos de datos: Números reales
El rango de los números reales es desde -∞ hasta +∞. Los registros de un procesador tienen resolución finita. Por lo tanto solo un sub set del rango es representable. No solo en magnitud sino en resolución

3 Representación binaria de Números Reales
En general podemos formalizar la representación de un número real expresado en los siguientes formatos: Punto Fijo Con Signo Con Notación Complemento a 2 Punto Flotante

4 Representación Punto Fijo con Signo
Se representan mediante una expresión del tipo: (anan-1 …a0 . a-1a-2 …a-m)2 = (-1)s⋅(an2n+…+ a020+ a a …+ a-m 2-m) donde s es 0 si el número es positivo y 1 si es negativo ai ∈ enteros y 0 ≤ai ≤ 1, para todo i = -m, …-1, 0, 1, …n Distancia entre dos números consecutivos es 2-m. Deja de ser un rango continuo de números para transformarse en un rango discreto

5 Representación Punto Fijo con Notación Complemento a 2
El problema consiste en representar los números negativos Empleamos para resolverlo el mismo criterio que en el complemento a 2 de enteros. Para representar el número –N en punto fijo con notación complemento a 2 se hace 2n - N

6 Truncamiento y Redondeo
La cantidad de dígitos disponible no alcanza para representar el número Problema: Representar un número de n dígitos decimales en un sistema con m dígitos decimales, siendo m < n Truncamiento: descarta los dígitos fraccionarios de orden mayor a m. El error es de 1 bit. Redondeo: descarta los dígitos fraccionarios de orden mayor a m pero se suma 1 al menos significativo en caso que el bit inmediato descartado valga 1. Equivale a truncar y sumarle 0,5.2-m . El error es de ½ bit.

7 Truncamiento y Redondeo para Notación en complemento a 2
Cuando se desea hallar el complemento de un número w, primero se deberá: Calcular la aproximación a w por truncamiento o redondeo. Calcular el complemento del número aproximado hallado en el paso 1 Ver casos para w>0, w=0, w<0 según se trate de truncamiento o redondeo.

8 Números reales: Representación
Para el caso de los números reales se trabaja en notación científica. n = ±f.10e -725,832 = = -725,832 x 100 3.14 = x 101 = 3,14 x 100 = 0,1 x 10-5 = 1,0 x 10-6 1941 = x 104 = 1,941 x 103 Para unificar la representación se recurre a la notación científica normalizada, en donde 0 ,1 ≤ f < 1 e es un entero con signo

9 Números reales: Representación
En el sistema binario la expresión de un número en notación científica normalizada es n = ±f.2e en donde 0 ,5 ≤ f < 1 e es un entero con signo

10 Representación en Punto Flotante
Se representan con los pares de valores (m, e), denotando: (m, e) = m⋅pe m llamado mantisa, y que representa un número fraccionario e, llamado exponente, al cual se debe elevar la base numérica de representación para obtener el valor real Mantisa y exponente pueden representarse: con signo sin signo con notación complemento con notación exceso m. Para que las representaciones sean únicas, la mantisa deberá estar normalizada.

11 Punto Flotante Normalizado

12 Conversión de un número al formato punto flotante normalizado
Dado un número w que pertenece a los reales, planteamos el método para obtener su representación de punto flotante normalizado en base 2. Se notará con e al exponente y con f a la fracción. Determinar el exponente. Para ello hallar el valor de e que satisface 2e-1 ≤ |w| < 2e. Determinar la fracción y hallar su representación en base 2. Por definición, |f | = |w| / 2e. Armar la representación del número según la convención que se haya acordado. Por lo general, se establece que el primer dígito de la representación representa al signo de la fracción, los k dígitos siguientes al exponente en alguna notación (con complemento o exceso m) y los l dígitos siguientes a la fracción.

13 Representación de la Información
Bit: (Binary Digit) Un bit es un dígito binario. Como tal, puede tener 2 valores posibles, 1 y 0. Como los circuitos de una computadora pueden asumir 2 estados, los bits se utilizan para representar el estado de los circuitos. Y siendo uno de estos circuitos la unidad mínima de almacenamiento que posee una computadora, el bit será la mínima unidad de representación. Byte: En términos generales, un byte es un conjunto de bits. En el presente, se entiende como byte al conjunto de 8 bits. Palabra: Una palabra es el conjunto de bits que pueden ser accedidos por la CPU en un requerimiento de lectura/escritura.

14 Tipo de Datos que se representan con unos y ceros
Números: enteros positivos y negativos, y fracciones. Letras: Todas las letras del alfabeto (mayúsculas y minúsculas), símbolos de puntuación, símbolos matemáticos, etc. Caracteres de control: caracteres para limpiar la pantalla, saltar una línea, etc. Instrucciones de programa. Direcciones de memoria.

15 Representación de números en binario
Representar el número decimal +40 en formato binario ocupando dos bytes. +40 equivale a: (en hexadecimal: 00 28) tanto en notación complemento como sin signo. Representar el número decimal -40 en binario. En este caso únicamente se puede utilizar notación complemento: -40 equivale a: (en hexadecimal: FF D8) Complemento a 2 se descarta el acarreo Decimal 10 + (-3) +7

16 Punto Flotante: Formato IEEE 574
IEEE (Institute of Electrical and Electronics Engineers, Inc.) El Standard IEEE 754 para punto flotante binario es el mas ampliamente utilizado. En este Standard se especifican los formatos para 32 bits, 64 bits, y 80-bits.

17 IEEE 574: Rangos

18 Problemas que surgen del trabajo con números de Punto Flotante
Overflow, underflow y números no inicializados. El estándar IEEE574 trata con estos problemas de manera explícita, y define además de los números normalizados, otros cuatro tipos de números, que se muestran a continuación. Números finitos de-normalizados Números finitos normalizados Ceros signados Infinitos signados NaNs (Not a Number) Números Indefinidos

19 Problemas que surgen del trabajo con números de Punto Flotante

20 Ceros signados Una operación puede dar +0 o -0 en función del bit de signo. En ambos casos el valor es el mismo. El signo de un resultado cero depende de la operación en sí y del modo de redondeo utilizado. Los ceros signados ayudan a interpretar el intervalo aritmético en el que se ubicaría el resultado si la precisión aritmética fuese mayor. Indican la dirección desde la cual ocurrió el redondeo a cero, o el signo de un infinito que fue invertido.

21 Números finitos normalizados
El rango de éstos números se compone de todos los valores finitos distintos de cero codificables en formato de números reales entre 0 e . En el formato de punto flotante simple precisión estos números se componen de todos aquellos cuyos exponentes desplazados van de 1 a 254, (no desplazados van de -126 a 127). Cuando se aproximan a cero, estos números no pueden seguir expresándose en este formato, ya que el rango del exponente no puede compensar el desplazamiento a izquierda del punto decimal. Cuando se llega a un exponente cero en un número normalizado, se pasa al rango de-normalizado.

22 Números finitos de-normalizados
En general las operaciones entre números normalizados arrojan como resultado otro número normalizado. Si hay underflow se pasa a trabajar en formato de-normalizado. Ej: Bits de pérdida de precisión

23 Infinitos signados + y -, representan los máximos números reales positivo y negativo representables en formato de unto flotante La mantisa siempre es , y el máximo exponente desplazado representable (p. Ej. 255 para precisión simple)

24 NaNs Not a Number. No son parte del rango de números reales.
QNaN: Quiet NaN tiene el bit mas significativo fraccional en 1. Pueden propagarse por posteriores operaciones sin generar una excepción. SNaN: Signaled NAN. Tiene en cero el bit fraccional mas significativo. Resulta de una operación inválida de punto flotante.

25 Tipos de datos: Números reales
1. El bit entero está implícito y no se almacena para formatos single-precision y double-precision. 2. La fracción para codificación de SNaN debe ser distinta de cero, con el bit mas significativo en 0.

26 ASCII American Standard Code for Information Interchange
Hay 95 caracteres ASCII imprimibles, numerados del 32 al 126. Es un código de caracteres basado en el alfabeto latino tal como se usa en inglés moderno y en otras lenguas occidentales. Fue creado en 1963 por el Comité Estadounidense de Estándares (ASA, conocido desde 1969 como el Instituto Estadounidense de Estándares Nacionales, o ANSI) como una refundición o evolución de los conjuntos de códigos utilizados entonces en telegrafía. En 1967, se incluyeron las minúsculas, y se redefinieron algunos códigos de control para formar el código conocido como US-ASCII.

27 ASCII El código ASCII utiliza 7 bits para representar los caracteres, aunque inicialmente empleaba un bit adicional (bit de paridad) para detectar errores en la transmisión. A menudo se llama incorrectamente ASCII a otros códigos de caracteres de 8 bits, como el estándar ISO que es una extensión que utiliza 8 bits para proporcionar caracteres adicionales usados en idiomas distintos al inglés. En la actualidad define códigos para 33 caracteres no imprimibles, de los cuales la mayoría son caracteres de control obsoletos que tienen efecto sobre como se procesa el texto, más otros 95 caracteres imprimibles que les siguen en la numeración (empezando por el carácter espacio). Casi todos los sistemas informáticos actuales utilizan el código ASCII o una extensión compatible para representar textos y para el control de dispositivos que manejan texto.

28 ISO

29 Unicode Estándar industrial cuyo objetivo es proporcionar el medio por el cual un texto en cualquier forma e idioma pueda ser codificado para el uso informático. El establecimiento de Unicode ha involucrado un ambicioso proyecto para reemplazar los esquemas de codificación de caracteres existentes, muchos de los cuales están muy limitados en tamaño y son incompatibles con entornos multilingües. Implementado en un número considerable de tecnologías recientes, que incluyen XML, Java y Sistemas Operativos modernos.

30 UTF-8 UTF-8 (8-bit Unicode Transformation Format) es una norma de transmisión de longitud variable para caracteres codificados utilizando Unicode. Usa grupos de bytes para representar el estándar de Unicode para los alfabetos de muchos de los lenguajes del mundo. Especialmente útil para la transmisión sobre sistemas de correo de 8 bits. Usa 1 a 4 bytes por carácter, en función del símbolo Unicode. P.Ej. se necesita un solo byte en UTF-8 para codificar los 128 caracteres US_ASCII en el rango U+0000 a U+007F Unicode. No es afectado al utilizar compresión de datos. El IETF requiere que todos los protocolos de Internet indiquen qué codificación utilizan para los textos y que UTF-8 esté entre las mismas.

31 UTF-8: Ventajas Puede codificar cualquier carácter.
Ahorra espacio respecto de UTF-16 o UTF-32 que utilizan muchos caracteres ASCII de 7 bits. Una secuencia de bytes para un carácter jamás será parte de una secuencia más larga de otro carácter como lo hacían viejas codificaciones. El primer byte de una secuencia multi-byte es suficiente para determinar la longitud de una secuencia multi-byte. Esto hace muy simple extraer una subcadena de una cadena dada sin elaborar un análisis exhaustivo.

32 UTF-8: Ventajas Está diseñado para que los bytes codificados nunca tomen alguno de los valores de los caracteres especiales de ASCII, previniendo problemas de compatibilidad con librerías y sistemas operativos legacy como la ANSI C. Las cadenas en UTF-8 pueden ser ordenadas usando rutinas de ordenamiento estándar orientadas a byte. UTF-8 es el valor predeterminado para el formato XML.

33 UTF-8: desventajas Es de longitud variable; eso significa que diferentes caracteres toman secuencias de diferentes longitudes para codificar. La agudeza de esto podría ser disminuida, sin embargo, creando una interfaz abstracta para trabajar con cadenas UTF-8 y haciéndolo transparente al usuario. Un analizador de UTF-8 mal escrito podría aceptar un número de diferentes representaciones pseudo-UTF-8 y convertirlas en la misma salida Unicode. Los caracteres ideográficos usan 3 bytes en UTF-8, pero sólo 2 en UTF-16. Así, los textos chinos/japoneses/coreanos usarán más espacio cuando sean representados en UTF-8.

34 UTF-16 E un código de caracteres que proporciona una forma de representar caracteres Unicode e ISO/IEC como una serie de palabras de 16 bits y 24 bits susceptibles de ser almacenados o transmitidos a través de redes de datos. UTF-16 se halla oficialmente definido en el Anexo Q de la norma ISO/IEC También está descrita en el estándar unicode (versión 3.0 u superior), al igual que en la RFC 2781 de la IETF UTF-16 representa un carácter que ha sido asignado dentro del conjunto de los puntos del código unicode o ISO/IEC como un valor de código único equivalente al punto de código del carácter: por ejemplo, 0 para 0, FFFD hexadecimal para FFFD.


Descargar ppt "Organización del Computador 1"

Presentaciones similares


Anuncios Google