Tema I: La información y su representación 1. Conceptos fundamentales 2. Estructura funcional de un ordenador 3. La información y su representación 3.1. Sistemas de numeración 3.2. Teorema Fundamental de la Numeración 3.3. Codificación numérica 3.4. Codificación alfanumérica 3.5. Medidas de información 3.6. Representación interna de la información Últ. revisión 1/10/2003 ASI - Mod SIMM - Tema I: La información y su representación 1 1.Conceptos Fundamentales Ordenador: Esta palabra procede del francés Computer (computadora). Es una máquina compuesta de elementos físicos tanto mecánicos como electrónicos Es una herramienta que nos permite el tratamiento automático de la información, facilitándonos su organización, proceso, transmisión y almacenamiento Informática: En sus orígenes información automática Desarrollo espectacular imprescindible en comunicaciones, telefonía, Internet, vigilancia, grandes cálculos matemáticos, CAD, etc Programa Conjunto de órdenes que se introducen en un ordenador para realizar un proceso determinado Aplicación Informática Conjunto de varios programas Sistema informático Es el conjunto de elementos que nos permite introducir información, tratarla y obtener los resultados deseados. Esto se conoce como tratamiento de la información Últ. revisión 1/10/2003 ASI - Mod SIMM - Tema I: La información y su representación 2 1.Conceptos Fundamentales Tratamiento de la información Últ. revisión 1/10/2003 ASI - Mod SIMM - Tema I: La información y su representación 3 2. Estructura funcional de un ordenador Señales de control y estado Últ. revisión 1/10/2003 ASI - Mod SIMM - Tema I: La información y su representación 4 2. Estructura funcional de un ordenador Unidad de Entrada (E), por donde se introducen en el ordenador los datos e instrucciones Unidad de Salida (S), por donde se obtienen los resultados de los programas ejecutados en el ordenador Memoria, lugar donde se almacenan los datos e instrucciones Memoria principal, central o interna. Mayor velocidad, ligado a las unidades más rápidas del ordenador. Para poder ejecutar un programa debe estar cargado en memoria RAM volátil (Random Access Memory) y ROM (Read Only Memory) Memoria masiva, auxiliar, secundaria o externa. Más lentos Mucha capacidad Información permanente Unidad Aritmético Lógica (ALU) Unidad mediante la cual se realizan las operaciones de tipo aritmético y lógico Unidad de Control (UC) Detecta señales de estado procedentes de las distintas unidades, indicando su situación o condición de funcionamiento Capta de la memoria una a una las instrucciones del programa y genera las señales de control dirigidas a todas las unidades Posee un reloj que sincroniza todas las operaciones del ordenado. La frecuencia del reloj se mide en MHz (millones de ciclo por segundo). Determina la velocidad de funcionamiento Una unidad de información ligada a la estructura interna de l ordenador es la palabra, indica la unidad en bits, de los datos con los que opera la ALU o de los datos transferidos entre la memoria y la CPU. Ambos pueden no coincidir: Longitud de palabra de la CPU, número de bits máximo con los que opera la ALU Longitud de palabra de la memoria, número de bits que conforma cada posición de memoria (número de bits que puede leer o escribir simultáneamente) La longitud de palabra, el tiempo de ciclo y la capacidad de memoria son factores muy importantes a la hora de determinar la potencia de un ordenador Últ. revisión 1/10/2003 ASI - Mod SIMM - Tema I: La información y su representación 5 3. La información y su representación Sistemas de información: Sistemas de flujo de información, donde la información que entra es la misma que la que sale. Sistemas de tratamiento de la información, la información que entra sufre una manipulación. La información puede ser de diferentes tipos dependiendo del tratamiento que se le dé, podemos hacer varias clasificaciones: Según el flujo de E/S Datos de entrada, son los que se suministran desde los periféricos de E o soportes de almacenamiento Datos intermedios, los que obtenemos durante la realización de algún proceso u operación para ayudar a obtener los datos de salida Datos de salida, resultados obtenidos durante el proceso de transformación . Se obtienen a través de los diferentes periféricos de S Según varíen o no durante el proceso Datos fijos, permanecen constantes durante todo el proceso Datos variables, varían durante el proceso según diversas condiciones Según la forma en que son escritos Caracteres numéricos, son las diez cifras decimales Caracteres alfabéticos, son las letras mayúsculas y minúsculas del alfabeto inglés Caracteres alfanuméricos, son una combinación de las dos anteriores Caracteres especiales, ) ( , * / ; : + Ñ ñ = ! ? . Etc Últ. revisión 1/10/2003 ASI - Mod SIMM - Tema I: La información y su representación 6 3.1 Sistemas numeración Sistema de numeración, conjunto de símbolos y reglas que se usan para representar datos numéricos Los ordenadores realizan las operaciones aritméticas utilizando una representación binaria, también utilizan la representación octal y hexadecimal para obtener códigos intermedios. Últ. revisión 1/10/2003 ASI - Mod SIMM - Tema I: La información y su representación 7 3.2 Teorema fundamental de la numeración Un sistema de numeración en base B utiliza un alfabeto compuesto por b símbolos, un número se representa por un conjunto de cifras, cada una de las cuales representa un valor que depende: De la cifra en sí De la posición que ocupa dentro del número Nos sirve para relacionar una cantidad expresada en cualquier sistema de numeración con una cantidad expresada en el sistema decimal. Su formula es: ∑Xi*Bi X , valor absoluto del dígito, i, posición que ocupa el dígito con respecto al punto decimal B, es la base Ejemplos: 78.52 = 7*101 + 8*100 + 5*10 -1 + 2*10-2 75.32)8 = 7*81 + 5*80 + 3*8-1 + 2*8-2 = 61.40625 Últ. revisión 1/10/2003 ASI - Mod SIMM - Tema I: La información y su representación 8 3.3. Codificación numérica Decimal, es el sistema numérico usado normalmente por el ser humano. Su base es 10 y utiliza los símbolos o dígitos [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]. Normalmente, no se suele aplicar el teorema de la numeración al sistema decimal ya que el resultado es el propio número Binario, b=2, esto quiere decir que solo se usan dos elementos para representar cualquier número [0, 1]. A cada símbolo usado en este sistema se le denomina bit. Al conjunto de 8 bits se le denomina byte. Ej números del 1 al 7 Binario 000 001 010 011 100 101 110 111 Decimal 0 1 2 3 4 5 6 7 Octal, Utiliza los símbolos [0, 1, 2, 3, 4, 5, 6, 7] Ejemplo 1001(8 será: ( ) ( ) ( ) ( Ν 0 = 1× 83 + 0 × 82 + 0 × 81 + 1× 80 ) Ν = 512 + 0 + 0 + 1 = 513 0 Últ. revisión 1/10/2003 ASI - Mod SIMM - Tema I: La información y su representación 9 Hexadecimal, utiliza los símbolos [0, 1, 2, 3, 4, 5, 6 , 7, 8, 9, A(=10), B(=11), C(=12), D(=13), E(=14) y F(=15)] Ejemplo 2CA(16 es: ( ) ( ) ( ) = (2 × 16 ) + (12 × 16 ) + (10 × 16 ) Ν 0 = 2 × 16 2 + C × 161 + A × 16 0 Ν0 2 1 0 Ν 0 = 512 + 192 + 10 = 714 Conversión entre sistemas numéricos: Vamos a explicar solamente la conversión de números enteros (excepto en binario), ya que para el tratamiento de los decimales suelen usarse métodos mas complejos que los que vamos a describir aquí. Otro sistema → decimal. Se aplica el teorema fundamental de la numeración. Decimal → otro sistema. Se realiza mediante divisiones sucesivas usando como divisor la base a la que queremos convertir el número. Se toma para la siguiente división sólo la parte enteras del cociente y se van guardando los restos obtenidos. Cuando el último cociente es menor que la base, se toma este como primer dígito y a continuación de este (a la derecha) se van situando los restos obtenidos en orden inverso: Últ. revisión 1/10/2003 ASI - Mod SIMM - Tema I: La información y su representación 10 3.3. Codificación numérica Decimal con decimales → binario. Se multiplica la parte fraccional por 2, hasta obtener 0 decimales o tengamos el número de decimales deseado. Se repite el proceso con el resultado de la operación anterior despreciando la parte entera. Se toman las partes enteras (que siempre serán 0 ó 1) en el orden obtenido: 0.828125(10 = ?(2 0.828125 × 2=1.65625 0.65625 × 2=1.3125 0.3125 × 2=0.625 0.625 × 2=1.25 0.25 × 2=0.5 0.5 × 2=1.0 0.828125(10 = 0.110101(2 Hexadecimal ↔ binario. Para el paso hexadecimal→binario, se sustituye cada dígito hexadecimal por el cuarteto correspondiente de dígitos binarios a su valor absoluto. Hay que respetar escrupulosamente los 0 a la izquierda. Para el paso binario→hexadecimal, se divide el número en cuartetos empezando por la derecha, sustituyendo cada cuarteto por su correspondiente símbolo equivalente hexadecimal. Para realizar dichos procesos se suele usar la siguiente tabla en la que los dígitos hexadecimales figuran en fondo gris y su valor decimal en negrita (es bastante fácil aprenderse los 15 primeros números en binario y reproducir la tabla en cualquier momento): 2BC(16 = 1010111100(2 100101100(2= 12C(16 Últ. revisión 1/10/2003 ASI - Mod SIMM - Tema I: La información y su representación 11 3.4. Codificación alfanumérica Se representa cada carácter por medio de un byte, formando cadenas de bytes sucesivos para componer las palabras o frases. Este método nos permite representar hasta 256 caracteres. El mas extendido de estos códigos es el ASCII (American Standard Code for Information Interchange) aunque los grandes ordenadores suelen usar el código EBCDIC de IBM. En la tabla (de la Cuestión 5) figuran los códigos ASCII estándares en cualquier teclado, independiente de la configuración del país que se este usando o si se ha especificado una tabla de caracteres especiales u otra EBCDIC (Extended BCD Interchange Code), cada símbolo es una combinación de 8 bits, es el formato extendido del BCD FIELDATA, bloques de 6 bits para representar los símbolos UNICODE, se usa en la mayoría de las aplicaciones actuales, en Internet, W2000 Últ. revisión 1/10/2003 ASI - Mod SIMM - Tema I: La información y su representación 12 3.5. Medidas de la información Bit, unidad mínima de información [0, 1] Múltiplos de bits Nibble, cuatro bits Byte, ocho bits Kilobyte (Kb), 1024 bytes ≈ 103 bytes Megabytes (Mb), 1024 Kb ≈ 103 Kb Gigabytes (Gb), 1024 Mb ≈ 103 Mb Terabytes (Tb), 1024 Gb ≈ 103 Gb Últ. revisión 1/10/2003 ASI - Mod SIMM - Tema I: La información y su representación 13 3.6. Representación interna de la información Para representar la información: El hombre usa un sistema de códigos, números (sistema decimal) ó palabras (caracteres A-Z, a-z, 0-9, +, -, (, ), etc) El ordenador usa bits Es lo que se denomina codificaciones Representar números Otra distinta para representar letras Representación de números enteros: Módulo y Signo (MS) Uso el binario Añade un dígito a la izquierda para representar el signo (0= +, 1 = -) Normalmente usa un byte, podremos representar números entre (127 y -127), módulo Podemos usar dos bytes (32767 y -32767) a = 2n-1 -1 Complemento a 1 Se usa el bit de la izquierda para el signo Módulo números positivos en binario puro, negativos complementados a 1 (se cambian los ceros por unos y viceversa) Igual rango de representación que MS Existen dos representaciones para el cero El menor número que se puede representar es b = -(2n-1 -1) = - 2n-1 +1 Ej: 7 Æ 0000 0111; -7 Æ 1111 1000 Últ. revisión 1/10/2003 ASI - Mod SIMM - Tema I: La información y su representación 14 Complemento a 2 Igual que el complemento a 1, pero obteniendo el módulo de los negativos en dos pasos: – Primero se obtiene el complemento a 1 – Posteriormente se le suma uno al número, si hay acarreo en el último número se desprecia Rango de representación asimétrico – 1 byte (127 y -128) – 2 bytes (32767 y -32768) Existe una única representación para el cero El número menor negativo que puede representar es b = -2n-1 Coma o punto fijo (tres formas de representación): Binario puro – 32 bits – Primero para el signo y el resto el número Decimal desempaquetado – Cada número decimal ocupa un byte – BCD, usa 4 bits para cada número decimal – Cuatro bits de la izquierda son unos (bits de zona) – Cuarteto de la derecha en BCD para codificar el número – Signo, en el último cuarteto de bits de la izquierda correspondientes al último número » 1100 para positivo » 1101 para negativo – Ej:2371 Æ 1111 0010 1111 0011 1111 0111 1100 0001 Decimal empaquetado – Representa cada cifra con cuatro bits – Los cuatro bits de la derecha son para representar el signo con la misma combinación que la anterior – Ej: 4751 Æ 0100 0111 0101 0001 1100(signo +) NOTA: Suma aritmética 0+0=0 0+1=1 1+0=1 1 + 1 = 0 y me llevo 1 Últ. revisión 1/10/2003 Resta aritmética 0-0=0 0 - 1 = 1 y debo 1 1-0=1 1-1=0 ASI - Mod SIMM - Tema I: La información y su representación 15 Representación de números reales: El ordenador para la representación de un número hace un uso finito de bits Reales sufren un truncamiento en su parte decimal Puede presentar problemas en cálculos numéricos de alta precisión Método de coma flotante Para representar números reales y enteros con un rango de representación mayor que el que ofrece el punto fijo Así el ordenador puede tratar con números muy grandes y muy pequeños Cuando representamos número muy grandes hacemos uso de la notación exponencial. N = M*BE – – – B, es la base M, es la mantisa E, es el exponente Ej: 13257.3285 = 13257.3285*100 = 1.32573285*104 Para representar números en coma flotante en el ordenador se usa el estándar IEEE 754 – – Usa como Base el dos (como esta predeterminado no es necesario almacenar) Solo hay que representar el signo del número (s), el exponente (E) y la mantisa (M), donde: » n, es el número de bits usados en la representación del número. » s, es el bit del signo: 0 para positivos y 1 para negativos » ne, número de bits que se usan para representar el exponente » nm, número de bits que se usan para representar la mantisa » e, campo de exponente: almacena el exponente en formato de entero sesgado, es decir, al exponente se le suma un valor constante llamado sesgo (S). De esta forma, podemos incluir exponentes positivos o negativos sin tener que reservar un bit extra para su signo. Últ. revisión 1/10/2003 E (exponente) Exponente sesgado Valor de e 0 127 + 0 = 127 0111 1111 +2 127 + 2 = 129 1000 0001 +127 127 + 127 = 254 1111 1110 -1 127 – 1 = 126 0111 1110 -126 127 – 126 = 1 0000 0001 ASI - Mod SIMM - Tema I: La información y su representación 16 » m, campo de mantisa: la mantisa se representa mediante notación exponencial normalizada, es decir, en la posición de las unidades quedará representado el primer 1 significativo del número. En la mantisa normalizada se cumple que 1 ≤ M < 2. » El campo de mantisa sólo almacena la parte fraccionaria (o decimal) de M normalizada, es decir 1. no se almacena con lo que se ahorra espacio (se dice que 1. está implícito o que el número está empaquetado). Lógicamente, al realizar cualquier operación con el número, la ALU debe restituir el 1. (desempaquetar el dato). Asi, M=1.m, siendo m la parte que se almacena 1001.1100 110 = 1.0011 1001 10 23 0.0000 0110 1101 = 1.101101 2-6 Ejemplos: usando 8 bits para ne y 23 para nm, la representación de los números siguientes será: Número Notación Exponencial Representación en coma flotante 0.0100 1110 0110 1.0011 1001 10 2-2 0 0111 1101 0011 1001 1000 0000 0000 000 -1101 101 -1.1011 01 25 1 1000 0101 1011 0100 0000 0000 0000 000 El método IEEE 754 considera dos tamaños o precisiones posibles de datos: Simple precisión: usa 32 bits para la representación de los que 8 son para ne y 23 para nm. El sesgo S usado es 127 por lo que el mayor exponente que puede representar es 127 y el menor –126 (–126 ≤ E ≤ 127). Doble precisión: usa 64 bits para la representación de los que 11 son para ne y 52 para nm. El sesgo S usado es 1023 (–1022 ≤ E ≤ 1023). Últ. revisión 1/10/2003 ASI - Mod SIMM - Tema I: La información y su representación 17