Arquitectura de Computadoras I Representación de la Información
Representación de la información. • Introducción. Sistemas de representación. Datos numéricos. Complementos y Operaciones aritméticas con datos numéricos. Álgebra de Boole y operaciones lógicas. Representación interna de la información. Detección de errores. Desbordamiento y precisión finita de la información. 17-abr-17 Cesar Guisado A, 2004
Introducción: Distinción entre: Representación de la información: Relacionada con el formato lógico de los datos, dependiendo del tipo de dato a representar. Objetivo de este tema. Materialización de la información: Relacionada con el registro físico de los datos en algún medio de almacenamiento. 17-abr-17 Cesar Guisado A, 2004
Codificación: Representación de la información: Codificación: Para poder representar la información ha de sufrir una codificación que permita almacenarla y tratarla. Codificación: Transformación que representa los elementos de un conjunto mediante los de otro, de forma tal que a cada elemento del primer conjunto le corresponda un elemento distinto del segundo. A 1000001 ) 0101001 2 0110010 17-abr-17 Cesar Guisado A, 2004
Introducción: Tipos de información: Numérica. Alfanumérica. Gráfica. Enteros, Reales, Ordinales, Complejos. Alfanumérica. Textual. Gráfica. Vectoriales Raster. 17-abr-17 Cesar Guisado A, 2004
Introducción: Información textual: división: Codificación: Caracteres alfanuméricos {a,b,...z,A,B,...Z} Caracteres numéricos {0,1,....9} Caracteres especiales {(,),*,+,-,?,....} Caracteres de control { fin de línea, carácter de sincronización, avance de página, ...} Caracteres gráficos { ¦ ,~,¦ ,¦ ,...} Codificación: a { a,...z,A,...Z,0,..,9,*,+,...} -> b {0,1}n 17-abr-17 Cesar Guisado A, 2004
Introducción: Sistema Decimal: Es un sistema posicional, ya que el significado de un símbolo depende fundamentalmente de su posición relativa al símbolo coma (,) que en caso de ausencia se supone colocada implícitamente a la derecha Nº = n i= -d (dígito)i * (base)i base = 10. i = posición respecto a la coma. d = nº de dígitos a la derecha de la coma. n = nº de dígitos a la derecha de la coma -1. Dígito = cada uno de los componentes del número. 17-abr-17 Cesar Guisado A, 2004
Introducción: Representación posicional de los números: También denominado Teorema fundamental de la numeración. N = ....... + X3*B3 + X2*B2 +X1*B1+X0*B0+X-1*B-1 +X-2*B-2 +X-3*B-3+ ....... La base 10 es la que denominamos Decimal: Base 2 (b=2): Sistema binario. (0,1) Base 8 (b=8): Sistema octal. (0,1,...7) Base 16 (b=16): Sistema hexadecimal. (0,..,9,A,..,F) 17-abr-17 Cesar Guisado A, 2004
Introducción: Conversión entre sistemas de numeración. a) Parte entera: Simplemente se va dividiendo por la base el número original, sin decimales (parte entera), y se va repitiendo el procedimiento para los cocientes que se van obteniendo. Los restos de estas divisiones y el último cociente son las cifras buscadas (observar que siempre deberían estar entre 0 y b-1). El último cociente es el dígito más significativo, y el primer resto el menos significativo. 17-abr-17 Cesar Guisado A, 2004
Introducción: a) Parte entera: Ejemplo 77)10 a ...)2 26 25 24 23 22 21 20 64 32 16 8 4 2 1 El número 77 en binario es: 1 0 0 1 1 0 1 17-abr-17 Cesar Guisado A, 2004
Introducción: • Conversión entre sistemas de numeración. b) Parte fraccionaria: Se va multiplicando por la base la parte fraccionaria del número original, y sucesivamente se repite el procedimiento con las partes fraccionarias de los números obtenidos. La secuencia de dígitos que sevan obteniendo es la representación en base b buscada de la parte fraccionaria del número. 17-abr-17 Cesar Guisado A, 2004
Introducción: Conversión entre sistemas de numeración. b) Parte fraccionaria: Ejemplo 0.1875)10 a ....)2 0.1875 0.3750 0.75 0.5 x 2 x 2 x 2 x 2 0.375 0.75 1.5 1 .0 El número 0.1875 en binario es : 0 , 0 0 1 1 17-abr-17 Cesar Guisado A, 2004
Introducción: Conversión a base 10. Para convertir de cualquier base a base 10 se utiliza el teorema fundamental de la numeración. El método práctico consiste en multiplicar cada uno de los términos por potencias crecientes de la base a partir de la coma decimal y hacia la izquierda, y realizar la suma de las operaciones. Si el número posee parte fraccionaria, también se multiplicarán los términos de la derecha de la coma hasta el final, con potencias negativas. 17-abr-17 Cesar Guisado A, 2004
Introducción: Conversión a base 10: Ejemplo 101011102 a decimal. – 1 0 1 0 1 1 1 0 0 * 20 = 0 1 * 21 = 2 1 * 22 = 4 1 * 23 = 8 0 * 24 = 0 1 * 25 = 32 0 * 26 = 0 1 * 27 = 128 Suma: 174(10 17-abr-17 Cesar Guisado A, 2004
Introducción: Conversión a base 10: Ejemplo 1101,0112 a decimal. – 1 1 0 1 , 0 1 1 1 * 2-3 = 0,125 1 * 2-2 = 0,250 0 * 2-1 = 0 1 * 20 = 1 0 * 21 = 0 1 * 22 = 4 1 * 23 = 8 Suma = 13,375(10 17-abr-17 Cesar Guisado A, 2004
Introducción: Códigos intermedios: Otros códigos: Se entienden por códigos intermedios a los siguientes sistemas de numeración: Octal. Hexadecimal. Otros códigos: BCD. Decimal codificado binario. Supone la representación de cada dígito independientemente como una codificación de 4 bits. 17-abr-17 Cesar Guisado A, 2004
Introducción: Códigos intermedios: Permiten realizar las operaciones de transformación entre sistemas de numeración de una forma más rápida. Esta ventaja radica en que la base del sistema de numeración (octal y hexadecimal ) es mayor y el número de operaciones (productos o cocientes) a realizar es menor. El pequeño inconveniente radica en que se han de conocer las tablas de códigos octal y hexadecimal. Este inconveniente no es tal ya que estas tablas son muy sencillas de crear o memorizar. 17-abr-17 Cesar Guisado A, 2004
Tablas de código intermedio, Octal y Hexadecimal Binario Hexadecimal 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 10 1010 A 11 1011 B 12 1100 C 13 1101 D 14 1110 E 15 1111 F Decimal Binario Octal 000 1 001 2 010 3 011 4 100 5 101 6 110 7 111 17-abr-17 Cesar Guisado A, 2004
Introducción: Conversión de códigos intermedios (octal y hexadecimal) a binario: Para convertir de Octal o hexadecimal a binario no hace falta más que tomar cada cifra en octal o hexadecimal, buscar su equivalencia en binario (sobre la tabla) y transcribirla respetando el orden de las mismas. Ejemplos: 2 E 8 F (16 --> 0010_1110_1000_1111(2 3 0 6 5 (8 --> 011_000_110_101(2 17-abr-17 Cesar Guisado A, 2004
Introducción: Ejemplo de uso de los códigos intermedios para transformar de decimal a binario: Decimal -> Octal -> Binario. 127(10 -> 177(8 -> 1 111 111(2 Decimal -> Hexadecimal -> Binario 127(10 -> 7F(16 -> 111 1111(2 17-abr-17 Cesar Guisado A, 2004
Introducción: Códigos de entrada/salida: El objetivo es representar un conjunto de símbolos alfanuméricos en forma binaria para poder ser representados y materializados en un soporte informático. Para ello nos basaremos en las permutaciones que se pueden obtener de un conjunto de n símbolos binarios. » 2n son las posibles permutaciones de n elementos binarios tomados de n en n. Para representar un conjunto de m símbolos requerimos un cierto número de bits n. (Tomando el menor n ) » n >= log 2 (m) Nota: log2 (N) = (log N / log 2 17-abr-17 Cesar Guisado A, 2004
Introducción: • Códigos de entrada/salida. Ejemplo: – Se desean codificar en binario un conjunto de 10 símbolos. ¿Cuantos bits hacen falta ? – n >= log2(10) --> n = 3.322 --> n =4 – 24 = 16 > 10 Se verifica la desigualdad. Se desean codificar en binario el conjunto formado por los símbolos alfanuméricos a,b,...z,A,B,...Z y 0,1,..,9. Que suman un total de 72 símbolos. ¿Cuantos bits hacen falta? – n >= log2(72) --> n = 6.199--> n =7 – 27 = 128 > 72 Se verifica la desigualdad. 17-abr-17 Cesar Guisado A, 2004
Introducción: Códigos de entrada/salida normalizados: BCD de intercambio normalizado. Standard Binary Coded Decimal Interchange Code. EBCDIC Extended Binary Coded Decimal Interchange Code. ASCII American Standard Code for Information Interchange. Otros códigos: FIELDATA. 17-abr-17 Cesar Guisado A, 2004
Introducción: ASCII: Es el más ampliamente utilizado. Tiene una longitud de siete bits (n =7), a la que a veces se añade, en algunos sistemas, otro bit más (bien para comprobar errores mediante paridad, o bien para doblar el número de caracteres representables de 128 a 256, y así añadir un amplio conjunto de caracteres gráficos, por ejemplo, como es el caso del PC). 17-abr-17 Cesar Guisado A, 2004
Tabla ASCII 17-abr-17 Cesar Guisado A, 2004
Tabla ASCII Extendida 17-abr-17 Cesar Guisado A, 2004