E. U. Politécnica Ingeniería Técnica Industrial FUNDAMENTOS DE INFORMÁTICA TEMA 1 EL ORDENADOR Y LA INFORMACIÓN 1. Definición, elementos y aplicaciones de la informática 2. Representación de la información 2.1. Proceso de codificación. Códigos de E/S 2.2. Sistemas de numeración usuales en informática 2.3. Tipos de información y su representación 3. Estructura funcional de un ordenador 4. Clasificación de los ordenadores 5. Informes propuestos en este tema Desde sus orígenes, el hombre ha tenido necesidad de la información. Esta información, que en principio se recogía de forma oral, con la aparición de la escritura, comenzó almacenarse en medios que evolucionaron desde las tablillas hasta el papel, pasando por los papiros y los pergaminos. También los medios de transmisión han ido evolucionando desde la transmisión oral, buena para distancias cortas, hasta la transmisión a grandes distancias por cables utilizando código Morse o la propia voz mediante el teléfono. Se puede decir que el tratamiento de la información es tan antiguo como el hombre y se ha ido potenciando y haciendo más sofisticado con el transcurso del tiempo hasta llegar a la era de la electrónica. El hombre no ha parado a lo largo de la historia de crear máquinas y métodos para procesar la información. Para facilitar esta tarea, en especial en el mundo actual, donde la cantidad de información que se procesa a diario es ingente, surge la informática. 1. DEFINICIONES BÁSICAS, ELEMENTOS APLICACIONES DE LA INFORMÁTICA Y El término Informática proviene de la unión de las palabras INFORmación y autoMÁTICA. De una forma muy general podemos decir que la informática se ocupa del tratamiento automático de la información. Concretando más, podemos definir Informática como la ciencia o conjunto de conocimientos científicos que permiten el tratamiento automático de la información por medio de ordenadores. Como se puede observar, en la definición anterior de Informática, intervienen dos palabras clave: • Información, y • ordenador. Por información se entiende cualquier conjunto de símbolos que represente hechos, objetos o ideas. Un ordenador o computadora es básicamente una máquina compuesta de una serie de circuitos electrónicos que es capaz de recoger unos datos de entrada, efectuar con ellos ciertos cálculos, operaciones lógicas y operaciones aritméticas y devolver los datos o información resultante por medio de algún medio de salida. Todas estas acciones las realiza la computadora sin necesidad de intervención humana y por medio de un programa de instrucciones previamente introducido en ella. Si tenemos en cuenta esta definición de computadora podemos redefinir el concepto de Informática como la ciencia que abarca todos los aspectos del diseño y uso de las computadoras. El ordenador se diferencia del resto de las máquinas con capacidad de tratar información (por ejemplo, una calculadora básica o una máquina de escribir) en lo siguiente: • • • • • • Gran velocidad de tratamiento de la información. Gran potencia de cálculo aritmético y lógico. Capacidad para memorizar los programas y datos necesarios para resolver cualquier problema técnico o de gestión. Capacidad de comunicación con las personas y con otras máquinas y dispositivos para recibir o transmitir datos. Posibilidad de tratamiento de datos en tiempo real. Actúa sin intervención de un operador humano y bajo el control de un programa previamente almacenado en la propia computadora. Desde el punto de vista informático, existen instrucciones. dos tipos de información: Datos e Los datos son conjuntos de símbolos que utilizamos para expresar o representar un valor numérico, un hecho, un objeto o una idea, en la forma adecuada para su tratamiento. Como se puede ver, este concepto es bastante más amplio que el utilizado en otras disciplinas como la Física o las Matemáticas, ya que en Informática un dato no es sólo una temperatura o una longitud, sino que también se entiende como dato una matrícula, una dirección, un nombre, etc. Estos datos los puede obtener el ordenador directamente mediante mecanismos electrónicos (detectar sonidos, temperaturas, contornos, imágenes, ...) o pueden ser introducidos mediante grafismos (letras y números) que es el medio más utilizado (lenguaje escrito). Cualquier información (datos e instrucciones) se puede introducir al ordenador mediante caracteres (letras, dígitos, signos de puntuación, ...). Generalmente el ordenador devolverá la información utilizando también esta forma escrita. Las instrucciones le indican a la computadora qué es lo que debe realizar y los datos son los elementos sobre los que actúan o que generan las instrucciones. Visto esto, una computadora la podemos ver como un sistema que tiene como entradas datos e instrucciones y produce en función de éstos unos determinados resultados. El funcionamiento básico de un ordenador se podría describir así: ¿Cuáles son las razones que de alguna forma han obligado a la automatización del tratamiento de la información? Las principales son: 1. A veces es necesario realizar funciones que el hombre puede abordar por sí mismo, pero que le llevarían mucho tiempo, como por ejemplo, cálculos complejos como los necesarios para el seguimiento y control de naves espaciales (cálculos en tiempo real). 2. Es necesario realizar funciones que el hombre, por sí solo no pude cubrir, como por ejemplo, las comunicaciones a larga distancia. 3. Es necesario obtener seguridad en algunas tareas, sobre todo en las de tipo repetitivo en las que el hombre es más propenso a cometer errores . Sin embargo, las máquinas, una vez que se les ha enseñado cómo realizar las tareas correctamente, repiten el proceso una y otra vez sin cometer ningún error. 4. Se puede sustituir al hombre en las tareas monótonas. Este tipo de tareas no implican el desarrollo de su actividad intelectual, con lo que al automatizarlas, el hombre puede dedicar su esfuerzo a funciones más decisivas e importantes. La informática consta de dos elementos básicos e imprescindibles: • HARDWARE o soporte físico: Son todos los elementos tangibles y materiales de la informática: teclado, pantalla, tarjetas de expansión, periféricos de todo tipo, circuitos integrados, transistores, cables, la CPU, ... • SOFTWARE o soporte lógico: Es la parte intangible e inmaterial de la informática. En general los hay de dos tipos: Programas y datos. Los programas son listas de instrucciones que el ordenador podrá ejecutar y los datos serán sobre los que actúen los programas (números, direcciones, nombres...). Dentro de los programas hay un tipo muy particular que son los SISTEMAS OPERATIVOS (S.O.). Un S.O. es un programa que nos ayuda y simplifica el manejo de un ordenador. Muy básicamente, un S.O. tiene dos tareas primordiales: - Interfaz hombre-máquina: Nos ayuda a comunicarnos con la máquina de forma cómoda y eficiente. - Administrador de recursos: Gestiona la administración de todos los recursos de los que conste el ordenador de forma que estos recursos estén aprovechados al máximo, optimizando en lo posible su rendimiento. Por recursos se entiende la memoria, discos, impresoras, CPU... Hay muchos tipos de S.O. entre los que destacan la familia Windows de Microsoft y los S.O. tipo UNIX que destacan por su robustez, tolerancia a fallos y buena gestión de los recursos. Entre los de tipo UNIX hay uno, llamado LINUX, que es un S.O. gratuito para microordenadores PC. Hay que destacar la gran cantidad de programas que hay escritos para el S.O. LINUX. Dentro de las aplicaciones de la informática es difícil citar un área de conocimiento en la que la informática no pueda ser aplicada para solventar o ayudar a solventar algún problema concreto. En general, la informática se ha aplicado a las siguientes áreas: • • • • Investigación: Muy aplicada por su rapidez en efectuar cálculos matemáticos. Se usa para resolución de ecuaciones y problemas en general, análisis automático de textos, simulación del comportamiento de sistemas complejos, análisis numérico... Aplicaciones técnicas y sanitarias: La informática es muy útil para ayudar a los ingenieros a diseñar circuitos u otro tipo de estructuras (edificios...) a través de programas de C.A.D. (Computer Aided Design, Informática aplicada al diseño) y C.A.M. (Computer Aided Manufacturing, Informática aplicada a la fabricación). También es muy útil aplicada a la robótica, y en áreas médicas principalmente a través de los Sistemas Expertos. Gestión: Muy aplicada en la rama administrativa para operaciones típicas como gestión de la contabilidad, de stock, de nóminas, facturación, Bases de Datos en general... Otras aplicaciones: Destacan aplicaciones como agendas, procesadores de textos, hojas de cálculo, juegos, arte (composición musical, dibujo, cine...), enseñanza, conexión con redes, aplicaciones de RV (Realidad Virtual)... 2. REPRESENTACIÓN DE LA INFORMACIÓN 2.1. Proceso de codificación. Códigos de E/S Dentro de la computadora la información se almacena y se transmite en base a un código que sólo usa dos símbolos, el 0 y el 1, y a este código se denomina código binario. El BIT (BInary digiT, dígito binario) es la unidad elemental de información que equivale a un valor binario (0 ó 1) y constituye, dentro de una computadora la capacidad mínima de información. El bit, como unidad de información mínima, representa la información correspondiente a la ocurrencia de un suceso de entre dos posibilidades distintas. Así, la información (datos e instrucciones) se transfiere a través de impulsos que la codifican, o sea, que los ceros (0) y los unos (1) no son más que impulsos eléctricos con una determinada tensión o voltaje ( por ejemplo 3.3 voltios para el 1 y 0 voltios para el 0). Y son esos cambios de tensión los que circulan por los circuitos y chips del ordenador. Por el contrario, el mundo de la información manejada por el hombre es mayoritariamente de texto y de cifras escritas. Por tanto, la información normalmente se le da al ordenador en la forma usual escrita que utilizan los humanos, es decir, con ayuda de un alfabeto o conjunto de símbolos, los caracteres. Los caracteres que se utilizan son: • • • Numéricos: Constituidos por las diez cifras decimales Alfabéticos: Letras mayúsculas y minúsculas Especiales: Son símbolos no incluidos en los grupos anteriores, como: ), (, *, /, +, -, [, ]... Al conjunto de estos grupos se le denominan caracteres alfanuméricos. Veremos cómo estos caracteres son representables en los ordenadores. Este paso de una representación a otra se denomina codificación y el proceso inverso decodificación. Más formalmente, podemos decir que la codificación es una transformación que representa los elementos de un conjunto mediante los de otro, de tal forma que a cada elemento del primer conjunto le corresponde uno distinto del segundo. Dos características importantes de los códigos son que nos permiten comprimir y estructurar la información. En la entrada y en la salida de la computadora se realizan automáticamente los cambios de código que sean necesarios, de forma que la información pueda ser entendida fácilmente por los usuarios. Esos códigos de transformación se denominan códigos de entrada/salida (E/S) o códigos externos y se pueden definir de forma arbitraria. En general, un código de E/S es una correspondencia entre el conjunto de todos los caracteres: {A, B, C, D,...Z, a, b, c,...z, 0, 1,...9, /, +,...} y el conjunto binario: {0, 1}n , donde n es el número de bits que se utilizan para la representación de forma que a cada elemento del primero le corresponda un elemento distinto del segundo. El punto importante aquí será conocer el número de caracteres que se van a codificar. Obviamente, para codificar un alfabeto con más de 2 símbolos necesitamos más de un bit. Por ejemplo, para codificar 4 símbolos necesitaremos como mínimo 2 bits, ya que 22 =4. De esta forma, cada posible combinación de 2 bits (ceros y unos) corresponderá a un carácter o símbolo. En general, si queremos codificar m símbolos distintos necesitaremos n bits, que se calculan del siguiente modo: 2n ≥ m Por ejemplo, para codificar los 10 dígitos (0,1,2,...,9) necesitaremos 4 bits, ya que con 3 bits podremos representar sólo 23 =8 símbolos distintos, mientras que con 4 podremos representar 24 = 16. Dos codificaciones posibles son las siguientes: Símbolos 0 1 2 Código 1 0000 1000 0100 Código 2 0000 0001 1001 3 4 5 6 7 8 9 1100 0010 1010 0110 1110 0001 1001 1000 0101 0100 1100 1101 0011 0010 Pueden hacerse codificaciones con más bit de los necesarios; es decir, podríamos establecer códigos de E/S de forma totalmente aleatoria. Obviamente existen códigos normalizados que suelen ser utilizados por los constructores de ordenadores. Algunos de estos códigos son: • BCD DE INTERCAMBIO NORMALIZADO. Usualmente este código utiliza 6 bit, con lo que se pueden representar, m = 26 = 64 caracteres. A veces se añade a su izquierda un bit adicional para verificar posibles errores en la transmisión del código de forma que el carácter queda representado por n = 7 bit. • CODIGO EBCDIC (Extended Binary Coded Decimal Interchange). Utiliza n = 8 para representar cada carácter, pudiendo codificar hasta m = 28 = 256 símbolos distintos. • CODIGO ASCII (American Standard Code for Information Interchange). Utiliza 7 bit y es de los más utilizados. Normalmente se incluye un octavo bit para detectar posibles errores de transmisión o grabación. Si el octavo bit se emplea para representar más caracteres como letras griegas y símbolos semigráficos, se tiene el denominado ASCII extendido, usado en el PC de IBM y compatibles. Resumiendo todo lo anterior diremos que la información que manejamos los seres humanos se representa por caracteres (letras mayúsculas y minúsculas, números, ...), internamente estos caracteres se representan utilizando el código binario, es decir, con bits; esto quiere decir que a cada posible carácter le corresponde una secuencia de bits. Un byte (octeto o caráter) es el número de bits necesarios para almacenar un carácter alfanumérico. Este número va a depender del código concreto usado por la computadora, aunque generalmente se usan 8, esto es, podemos asumir que un byte equivale a 8 bits. La capacidad de almacenamiento de una computadora o de un soporte físico (como un disco) se suele dar en bytes o en unidades superiores (múltiplos), ya que el byte es una unidad relativamente pequeña. Los principales múltiplos del byte son: 1 Kilobyte (KB): 210 bytes. 1 Megabyte (MB): 210 KB = 220 bytes. 1 Gigabyte (GB): 210 MB = 230 bytes. 1 Terabyte (TB): 210 GB = 240 bytes. 2.2. Sistemas de numeración usuales en informática Las operaciones aritméticas con datos numéricos se suelen realizar en una representación más adecuada para este objetivo que la del código de E/S. Por ello en el propio ordenador se efectúa una transformación entre códigos binarios, obteniéndose una representación fundamentada en el sistema de numeración en base dos, que al ser una representación numérica posicional es muy apta para realizar operaciones aritméticas. También se utilizan los sistemas de numeración octal y hexadecimal, para obtener códigos intermedios. Un número expresado en uno de estos códigos puede transformarse a binario y viceversa. 2.1.1 Representación posicional de los números Se define un sistema de numeración: como el conjunto de símbolos y reglas que se utilizan para la representación de cantidades. En ellos existe un elemento característico que define el sistema y se denomina base, siendo ésta el número de símbolos que se utilizan para la representación. Un sistema de numeración en base "b" utiliza para representar los números un alfabeto compuesto por b símbolos o cifras. Así todo número se expresa por un conjunto de cifras, teniendo cada una de ellas dentro del número un valor que depende: • • De la cifra en sí De la posición que ocupe dentro del número En el sistema de numeración decimal (base 10), que habitualmente se utiliza, b = 10 y el alfabeto por tanto, está constituido por 10 símbolos: {0, 1, 2..., 9}. Así, el número 5238.79 puede obtenerse como: 5238.79 = 5 103 + 2 102 + 3 101 + 8 100 + 7 10-1 + 9 10-2 Generalizando, dado el número ... n4 n3 n2 n1 n0. n-1 n-2 ..., representado en un sistema de numeración en base b, su valor es: N = ...+ n4 b4 + n3 b3 + n2 b2 + n1 b1 + n0 b0 + n-1 b-1 + n-2 b-2 +... (Expresión 1) 2.1.2. Sistema de numeración en base dos o binario Es el sistema empleado por los ordenadores. En el sistema de numeración binario b=2 y el conjunto de símbolos usados es: {0, 1}. A) Transformaciones entre bases binaria y decimal. Se puede transformar un número binario a decimal sin más que usar la expresión 1 vista anteriormente con b=2. Ejemplos: 110100)2 10100.001)2 = = 52)10 20.125)10 Basta con sumar los pesos (2n) de las posiciones (n) en las que hay un 1. Para transformar un número decimal a binario se aplica el Método de las "divisiones y multiplicaciones". Este método consiste en aplicar divisiones sucesivas para la parte entera y multiplicaciones sucesivas para la parte decimal, de la siguiente forma: • Parte entera: Se divide el número entero N por la base b (en este caso 2) guardando el resto y dividiendo el cociente de nuevo por la base procediendo de la misma forma. En cada paso se guardará el resto y se dividirá el cociente por la base hasta que el cociente sea menor que la base (1 en este caso). Entonces, el número N en base 10, convertido a base b es el que se número que se obtiene tomando el último cociente (1) y los restos sucesivos en orden inverso. • Parte decimal: Se multiplica la parte decimal M (con la parte entera igual a cero) por la base b (en este caso 2) guardando la parte entera del resultado. La parte decimal se multiplicará de nuevo por la base procediendo de la misma forma. En cada paso se guardará la parte entera y se multiplicará la parte decimal por la base hasta que la multiplicación no tenga decimales. Entonces, la parte decimal M en base 10, convertida a base b es el número que se obtiene tomando las partes enteras obtenidas de las anteriores multiplicaciones y en el mismo orden. Con el siguiente ejemplo se verá más claro. - Ejemplo: 26.1875)10 Para la parte entera: Para la parte fraccionaria: 0.1875 × 2 0.3750 = 11010.0011)2 26 |2 0 13 |2 1 6 |2 0 3 1 0.3750 × 2 0.7500 |2 1 0.7500 × 2 1.5000 0.5000 × 2 1.0000 B) Operaciones aritméticas y lógicas con variables binarias Las operaciones aritméticas en binario son efectuadas de forma similar a como se realizan cotidianamente en base 10. Las operaciones básicas son las siguientes: Suma: 0 0 1 1 Producto: 0 × 0 = 0 0 × 1 = 0 1 × 0 = 0 + + + + 0 1 0 1 = = = = 0 Resta: 1 1 0 y me llevo 1 (10) División: 0 0 1 1 - 0 1 0 1 = = = = 0 1 y debo 1 1 0 0 : 0 = indeterminado 0 : 1 = 0 1 : 0 = infinito 1 × 1 = 1 Ejemplos: 111 + 011 1010 1 : 1 = 1 111 - 011 100 101 × 10 000 + 101_ 1010 11010 : 10 = 1101 01001 : 11 = 11 Las operaciones booleanas u operaciones lógicas son efectuadas siempre con variables binarias. Los valores de estas variables pueden ser TRUE (1) y FALSE (0). Los operadores básicos son los operadores binarios suma lógica (OR) y producto lógico (AND) y el operador unario de negación lógica (NOT), y sus tablas de verdad son: OR: 0 OR 0 = 0 0 OR 1 = 1 1 OR 0 = 1 1 OR 1 = 1 AND: 0 AND 0 = 0 0 AND 1 = 0 1 AND 0 = 0 1 AND 1 = 1 NOT: NOT(0) = 1 NOT(1) = 0 Las operaciones lógicas se efectuan bit a bit. Ejemplos: 1100 AND 1010 = 1000 1100 OR 1010 = 1110 NOT (1010) = 0101 Existen otros operadores lógicos que se forman en función de estos tres básicos, como son, entre otros, NAND (NOT AND), NOR (NOT OR), XOR (eXclusive OR). Sus tablas de verdad son: NOR: 0 NOR 0 = 1 0 NOR 1 = 0 1 NOR 0 = 0 1 NOR 1 = 0 NAND:0 NAND 0 = 1 0 NAND 1 = 1 1 NAND 0 = 1 1 NAND 1 = 0 XOR: 0 XOR 0 = 0 0 XOR 1 = 1 1 XOR 0 = 1 1 XOR 1 = 0 2.1.3. Códigos intermedios: Octal y hexadecimal Los códigos intermedios se basan en la facilidad de transformar un número en base 2 a otra base que sea potencia de 2 y viceversa. Usualmente se usan como códigos intermedios los sistemas de numeración en base 8 y en base 16 (conocidos como octal y hexadecimal). Sistema de numeración en base 8 u octal. En este sistema de numeración b = 8 y el conjunto de símbolos necesarios son los siguientes: {0,1,2,3,4,5,6,7}. - Conversión de octal a decimal. - Aplicar la expresión 1 para b = 8. - Ejemplo: 123)8 = 64 + 16 + 3 = 83)10 - Conversión de decimal a octal. - Usar el método "divisiones y multiplicaciones" con divisor y multiplicador 8. - Conversión “rápida” de binario a octal. - Agrupar cifras binarias de 3 en 3 y transformar mediante la Tabla 1. Se añadirán los ceros necesarios a la izquierda en la parte entera y a la derecha en la parte decimal. - Ej: 10001101100.11010)2 = 010 001 101 100.110 100)2 = 2154.64)8 Decimal (u octal) Binario 0 000 1 001 2 010 3 011 4 100 5 101 6 110 7 111 Tabla 1: Todos los números binarios con 3 bits. - Conversión “rápida” de octal a binario. - Convertir cada cifra octal mediante la tabla 1. - Ejemplo: 1537.274)8 = 1101011111.0101111)2 Sistema de numeración en base 16 o hexadecimal. En este sistema de numeración intermedio b = 16 y el conjunto de símbolos necesarios es {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}. Las letras pueden también usarse en minúsculas, aunque no es lo usual. - Conversión de hexadecimal a decimal: Aplicar la expresión 1 para b = 16. - Conversión de decimal a hexadecimal. - Usar método de "divisiones y multiplicaciones" con divisor y multiplicador 16. Decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 Hexadecimal 0 1 2 3 4 5 6 7 8 9 A B C Binario 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 13 14 15 D E F 1101 1110 1111 Tabla 2: Cifras hexadecimales en decimal y binario. - Conversión “rápida” de binario a hexadecimal. - Agrupar cifras binarias de 4 en 4 y transformar mediante la Tabla 2. - Ejemplo: 010010111011111.1011101011)2 = 25DF.BAC)H - Conversión “rápida” de hexadecimal a binario. - Convertir cada cifra hexadecimal mediante la tabla 2 - Ejemplo: 1ABC.C4)H = 0001101010111100.11000100)2 expr. 1 Binario grupos 3 bits Decimal Octal "d y m" "d y m" expr. 1 expr. 1 Binario grupos 4 bits Decimal Hexadecimal "d y m" "d y m" expr. 1 2.3.Tipos de información y su representación En un sistema de procesamiento de la información es necesaria la codificación de dos clases de información: 1. Información numérica: Enteros, Reales. 2. Información no numérica (o alfanumérica): Caracteres. Los datos se introducen inicialmente en el ordenador según un código de entrada/salida (que ya hemos visto), tanto si éstos son de tipo alfabético como de tipo numérico. Los datos de tipo numérico se utilizan normalmente para operar aritméticamente con ellos, y la representación simbólica obtenida con el código de E/S no resulta adecuada para realizar este tipo de operaciones. Resulta más adecuado operar en un sistema de numeración que en un código de E/S. Por tanto, se realiza una conversión de notaciones pasando de la representación simbólica de E/S a otra notación más adecuada para los números que veremos a continuación. A) Representación de enteros Se realiza del siguiente modo: a) El signo se representa en el bit situado más a la izquierda de la palabra. Este bit es 0 si el número es positivo ó 1 si el número es negativo. b) El valor absoluto: • • Números positivos: Se almacenan directamente el número en binario natural. Números negativos: Dependiendo del ordenador se almacena el complemento a 2 del número binario natural o la magnitud del número en binario natural. El complemento a 2 de un número binario se consigue cambiando los unos por ceros y los ceros por unos y luego sumándole 1. Ej. Tenemos el número en base dos: 11010010, su complemento a 2 es 00101101 + 1 = 00101110). Ejemplo de representación interna de datos de tipo entero en un ordenador de palabras de 4 bit: DECIMAL SIGNO Y COMPLEMEN MAGNITUD TO A 2 7 0111 0111 6 0110 0110 5 0101 0101 4 0100 0100 3 0011 0011 2 0010 0010 1 0001 0001 +0 0000 0000 -0 1000 ----1 1001 1111 -2 1010 1110 -3 1011 1101 -4 1100 1100 -5 1101 1011 -6 1110 1010 -7 1111 1001 -8 ----1000 D) Representación en punto flotante El punto flotante surge de la necesidad de representar números reales y enteros con un rango de representación mayor que el que ofrece la representación antes descrita y posibilitar al ordenador el tratamiento de números muy grandes y muy pequeños. Estas ventajas que ofrece el punto flotante traen como contraprestación una disminución en la precisión de los números representados. En su representación se utiliza la notación científica o exponencial matemática en la que una cantidad se representa de la siguiente forma: n° = mantisa * base de exponenciación exponente .Un número en esta notación tiene infinitas representaciones, de las que se toma como estándar la denominada normalizada, que consiste en que la mantisa no tiene parte entera y el primer dígito o cifra a la derecha del punto decimal es significativo (distinto de 0), salvo en la representación del número 0. Ejemplo 835.4 = 8354*10-1 = 835.4 * 100 = 83.54 * 101 = 8.354 * 102 = .8354 * 103 Representación del número decimal 835.4 con base de exponenciación 10, siendo está última expresión la que corresponde al número normalizado. En este sistema de codificación, se dividen los bit disponibles en la palabra o doble palabra del ordenador entre la mantisa y el exponente, teniendo una base de exponenciación determinada (2 o potencia de 2). Normalmente la definición de la coma flotante sigue las siguientes reglas: • El exponente se representa siempre como un número entero. También recibe el nombre de característica. • La mantisa es un número real con el punto decimal implícito a la izquierda de sus bits, representada normalmente en uno de los siguientes sistemas de codificación: módulo y signo, complemento a 1 o complemento a 2. (El complemento a 1 de un número binario se calcula cambiando ceros por unos y unos por ceros). • La base de exponenciación es una potencia de 2 determinada por el fabricante del equipo (2, 8 o 16). Existen muchas formas de representación en punto flotante, variando la longitud de la palabra del ordenador, la base de la exponenciación, el número de bits reservados para la mantisa y para el exponente, el sistema utilizado para representar la mantisa y el exponente, etc.. E) Datos de tipo carácter Los datos de tipo carácter, representan sencillamente cadenas de caracteres representados según el código de E/S. A las representaciones de los caracteres se les imponen las siguientes condiciones: • • • • Deben englobar las 26 letras del alfabeto latino, los 10 dígitos y un cierto número de caracteres gráficos (operadores) y signos de puntuación. Deben permitir añadir nuevos caracteres específicos. Deben incluir un sistema de redundancia que permita la detección de errores en el curso de la transmisión. Los subconjuntos de letras y números deben estar ordenados y ser coherentes. Estarán en dos grupos diferentes y ordenados. 3. ESTRUCTURA FUNCIONAL DE UN ORDENADOR En la figura puede observarse el esquema funcional de un ordenador, el cual representa en módulos distintos las funciones principales de un ordenador (según el esquema de Von Neumann): • Unidad de Entrada: es el dispositivo por donde se introducen en la computadora tanto datos como instrucciones. La información de entrada se transforma en señales binarias de naturaleza eléctrica. Una misma computadora puede tener distintas unidades de entrada. Por ejemplo: teclado, scanner, una unidad de disco,… • Unidad de Salida: es el dispositivo por donde se obtienen los resultados de los programas que se están ejecutando en la computadora. En la mayoría de los casos se transforman las señales binarias eléctricas en caracteres escritos o visualizados. Por ejemplo: monitor, impresora, plotter, una unidad de disco. La acción combinada de estos dos tipos de unidades (de entrada y de salida), hace que el usuario de un ordenador sea ajeno a la forma en que éste representa la información. De manera genérica, tanto a las unidades de entrada como a las de salida, se les denomina periféricos. • Memoria: es la unidad donde se almacenan los datos y las instrucciones. En función de la velocidad y también de la capacidad de almacenamiento podemos distinguir dos tipos básicos de memorias: o Memoria principal o central, es la más rápida y está estrechamente ligada a las unidades funcionales más rápidas de la computadora (UC y ALU). Es la unidad donde se almacenan tanto los datos como las instrucciones durante la ejecución de un programa. La memoria está constituida por una serie de posiciones numeradas correlativamente, cada una de las cuales es capaz de almacenar un número determinado de bits. A cada una de estas celdas se le denomina posición o palabra de memoria. Cada palabra de memoria se identifica por un número, su dirección, que indica la posición que ocupa en el conjunto. Si queremos leer o escribir en una posición de memoria debemos dar su dirección. Por eso se suele decir que la memoria principal es una memoria de acceso directo ya que accedemos de forma directa al dato que necesitemos sin más que dar su dirección. Por tanto, el tiempo de acceso a cualquier palabra de memoria es independiente de la dirección o posición a la que se accede. Dentro de la memoria principal podemos distinguir entre la memoria ROM (Read Only Memory) y la RAM (Random Access Memory). La memoria ROM sólo permite leer la información que contiene, pero no se puede escribir en ella. Las memorias ROM no se borran cuando se les deja de suministrar corriente. La memoria RAM es la memoria de lectura y escritura en la que deben estar cargados nuestros programas y sus datos para poder ejecutarse. En la memoria RAM se puede escribir y leer, pero la información que contiene se pierde al dejarle de suministrar corriente (memoria volátil). o Memoria auxiliar o secundaria. En contraste con la memoria principal, la memoria auxiliar tiene una alta capacidad de almacenamiento, aunque el tiempo de acceso es notoriamente superior (es más lenta). Los soportes típicos de memoria auxiliar son los discos y cintas magnéticas, CD-ROM, unidades ZIP, etc. Normalmente los programas y los datos se guardan en disco, evitando el tener que reteclearlos (introducirlos por un dispositivo de entrada) cada vez que queramos utilizarlos. La información almacenada en la memoria auxiliar permanece indefinidamente mientras no deseemos borrarla. • Unidad Aritmético-Lógica (ALU): como su nombre indica se encarga de realizar las operaciones aritméticas (sumas, restas, etc.) y las operaciones lógicas (comparación, operaciones del álgebra de Boole binaria, etc). • Unidad de Control (UC): Esta unidad se encarga de controlar y coordinar el conjunto de operaciones que hay que realizar para dar el oportuno tratamiento a la información. Su función obedece a las instrucciones contenidas en el programa en ejecución: detecta señales de estado que indican el estado de las distintas unidades, y en base a estas señales y a las instrucciones que capta de la memoria principal, genera las señales de control necesarias para la correcta ejecución de la instrucción actual. Dentro de la UC existe un reloj o generador de pulsos que sincroniza todas las operaciones elementales de la computadora. El período de esta señal se le denomina tiempo de ciclo. La frecuencia del reloj, medida en MegaHercios (MHz), es un parámetro que en parte determina la velocidad de funcionamiento de la computadora. El esquema de interconexión representado en la figura puede variar dependiendo de la computadora. La computadora central está constituida por la UC, la ALU y la memoria principal. Al conjunto formado por la UC y la ALU se le conoce con las siglas CPU (Central Processing Unit). Otra unidad de información ligada a la computadora es la palabra. Una palabra está formada por un número entero de bits (8, 16, 32, ...) e indica el tamaño de los datos con los que opera la ALU (palabra de CPU) o de los datos transferidos entre CPU y memoria (palabra de memoria). La longitud de palabra determina, entre otras cosas, la precisión de los cálculos y la variedad del repertorio de instrucciones. La longitud de palabra, el tiempo de ciclo del reloj y la capacidad de memoria, son factores determinantes para establecer la potencia de una computadora. Aunque actualmente las computadoras son bastante más complejas, conceptualmente el esquema visto sigue siendo válido. Hace unas décadas cada una de las distintas unidades representadas equivalía a un armario independiente conectado por mangueras de cables al resto de las unidades. Actualmente, y debido fundamentalmente al desarrollo de la microelectrónico, varias unidades funcionales pueden estar en una misma tarjeta de circuitos integrados 1 e incluso en un mismo circuito integrado. Por ejemplo, actualmente, la Unidad de Control, Unidad Aritmético Lógica y los registros (de la CPU) están físicamente unidos en un chip al que se denomina microprocesador. El microprocesador es el verdadero cerebro del ordenador. Desde el punto de vista externo, un microprocesador es un chip cuadrado con un tamaño superior al del resto de los chips de la placa base. Un microordenador (o microcomputador) es un computador cuyo procesador central es un microprocesador. Conviene destacar el hecho de que el prefijo micro en este caso hace referencia al tamaño de la CPU y no a las prestaciones de la misma. ¿Cuál es el funcionamiento básico de un ordenador? La filosofía general del ordenador es muy simple: Recibe datos del usuario a través de las unidades de entrada, los procesa con la CPU y presenta el resultado mediante las unidades de salida. Pero la CPU no recibe los datos directamente de la unidad de entrada ni los envía directamente a la unidad de salida. Existe una zona de almacenamiento temporal, la memoria RAM, que sirve como lugar de paso obligatorio para acceder a la CPU. Dentro de la CPU, el funcionamiento es el siguiente: Una vez almacenado el programa a ejecutar y los datos necesarios en la memoria principal, la Unidad de Control va decodificando (analizando) instrucción a instrucción. Al decodificar una instrucción detecta las unidades (ALU, dispositivos de entrada, salida o memoria) implicadas, y envía señales de control a las mismas con las cuales les indica la acción a realizar y la dirección de los datos implicados. Las unidades implicadas a su vez, cuando terminen de operar sobre los datos, enviarán señales a la UC indicando que la acción se ha realizado o bien el problema que ha imposibilitado que se haga. En líneas generales podríamos decir que el funcionamiento del ordenador se rige por dos principios: - La CPU es la única que puede procesar los datos (lo cual implica que los datos tienen que llegar de alguna forma a la CPU para ser procesados), y - la CPU sólo puede acceder a los datos almacenados en memoria RAM. Estos dos principios tienen un corolario muy claro que ya fue señalado anteriormente: Todos los datos, absolutamente todos, tiene que pasar por la memoria RAM para que desde allí puedan ser leídos por la CPU. 4.CLASIFICACIÓN DE LOS ORDENAORES Actualmente es difícil dar una clasificación general de las computadoras pues los avances tecnológicos han permitido clasificar como ordenador personal máquinas con más capacidad de proceso que antiguas macrocomputadoras. La siguiente clasificación está hecha, básicamente, de mayor a menor tamaño, precio, velocidad y fiabilidad. 2. MAINFRAMES Los mainframes, supercomputadoras o macrocomputadoras, son máquinas de gran capacidad de proceso, velocidad, fiabilidad y tamaño. Su precio puede oscilar desde 30000 hasta muchos millones de euros. Se usan donde muchas personas en una gran organización necesitan tener acceso frecuente a la misma información. Son, por tanto, multiusuario por lo que generalmente puede haber cientos de usuarios conectados y trabajando a la vez con el mainframe. Cada uno de estos usuarios puede trabajar en un microordenador (que tiene capacidad de proceso) o simplemente en un terminal, que es un aparato sin capacidad de proceso destinado simplemente e enviar y recibir los mensajes al mainframe. Era común que las computadoras mainframe ocuparan cuartos enteros e incluso todo un piso de un gran edificio. En la actualidad, una computadora mainframe típica luce como un archivador o una hilera de archivadores, aunque aún puede requerir un ambiente más o menos controlado. 4.1. MINIORDENADORES Los miniordenadores o superminicomputadores son máquinas muy potentes pero de menor potencia, tamaño, velocidad, fiabilidad y precio que los mainframes. Son también multiusuario pero su número de usuarios máximo suele ser menor de 150 aproximadamente. Son ideales para muchas organizaciones y compañías que no pueden costear o no necesitan un sistema mainframe. Las ninicomputadoras son relativamente baratas pero tienen algunas de las características deseables de una mainframe. Las WorkStation (estaciones de trabajo) son un tipo de ordenadores que están a medio camino entre los minis y los microordenadores. Son ordenadores potentes y generalmente usados por científicos, ingenieros, artistas gráficos, animadores y programadores. Aunque actualmente han disminuido las diferencias entre las estaciones de trabajo y algunos PC, debido al incesante incremento de la potencia y popularidad de estos últimos. Algunos de los principales fabricantes de estaciones de trabajo son IBM, Sun Microsystems, Silicon Graphics Incorporated. 4.2. MICROCOMPUTADORAS Son ordenadores de pequeño tamaño y precio y cada vez más potentes y fiables. Sus características han hecho posible que la informática se introduzca casi como un electrodoméstico imprescindible y de ahí su nombre de ordenadores personales (PC, Personal Computer). Los avances tecnológicos han conseguido que estos ordenadores tengan, a veces, más capacidad de proceso que algunos antiguos mainframes. Aunque pueden usarse multiusuario, por sus características son normalmente monousuario y con un S.O. apropiado se consigue que sean multitarea, es decir, que puedan ejecutar varios programas a la vez. El estilo de computadora personal introducido al principio fue el modelo de escritorio, los cuales son bastante pequeños para caber en un escritorio pero demasiado grandes para que el usuario pueda llevarlas consigo. Los ordenadores portátiles o notebook pueden caber con facilidad dentro de un portafolios. También se les llama laptops (“de regazo”) y son microcomputadoras funcionales por completo. Pueden operar conectadas a la corriente o con baterías especiales. Las asistentes personales digitales (PDA) son las más pequeñas de las computadoras portátiles. Son mucho menos potentes que los modelos notebook o los de escritorio. Por lo general se usan para aplicaciones especiales y pueden conectarse a computadoras más grandes para intercambiar datos. 4.INFORMES PROPUESTOS • • • El código internacional Unicode: ventajas, tipos y características principales. Una hoja de cálculo: para qué sirve y cómo se utiliza. Aplicaciones de la informática: domótica, robótica.