Contenidos: Definiciones. Esquema de un ordenador. Codificación de la información. Parámetros básicos de un ordenador. Programas e instrucciones. Proceso de ejecución de una instrucción. Tipos de instrucciones. Lenguajes de programación. Evolución histórica de los ordenadores. Definiciones: Informática: Conjunto de conocimientos científicos y técnicas que hacen posible el tratamiento automático de la información por medio de ordenadores. Ordenador: Máquina capaz de aceptar unos datos de entrada, efectuar operaciones lógicas y aritméticas y proporcionar la información resultante a través de un medio de salida; todo ello sin intervención de un operador humano y bajo el control de un programa de instrucciones previamente almacenado en la propia memoria. 1
Definiciones: Hardware: Soporte físico formado por circuitos electrónicos, cajas, y dispositivos de entrada y salida de información. Software: Soporte lógico formado por el conjunto de programas que permiten utilizar con algún propósito los ordenadores. Dato: Conjunto de símbolos utilizados para representar un valor numérico, un hecho, un objeto o una idea; en la forma adecuada para ser objeto de tratamiento. Definiciones: Instrucción: Conjunto de símbolos que representa una orden de operación o tratamiento para el ordenador. Programa: Conjunto ordenado de instrucciones que se da al ordenador indicándole las operaciones que ha de realizar. Lenguaje de programación: Conjunto de símbolos y reglas que permiten construir un programa. 2
Esquema de un ordenador: Memoria Entrada/Salida U.C.P. Datos Usuario Esquema de un ordenador: Memoria masiva Memoria principal Entrada U.C. U.L.A Unidad central de proceso Salida 3
Esquema de un ordenador: Memoria principal: Ligada a la unidad de control u unidad aritméticológica. Mayor velocidad. Donde se cargan los programas y los datos. Se organiza en palabras de memoria (posiciones). Conviven los tipos de memoria Lectura / escritura (RAM) y sólo lectura (ROM). Esquema de un ordenador: Memoria masiva, auxiliar, secundaria o extra: Mayor capacidad de almacenamiento. Más lenta que la memoria principal. Memoria no volatil. Son: Discos magnéticos, cintas magnéticas, discos ópticos y discos magneto-ópticos. Comúnmente Disco Duro, CD-ROM, DVD. 4
Esquema de un ordenador: Unidad Central de Proceso: Formada por U.C. y U.L.A. y U.P.F, memoria cache. La unidad de control (U.C.): Interpretar y controlar la ejecución de las instrucciones. Detecta señales de estado de otros elementos. Controlar la transferencia entre CPU, memoria y E/S. Responder a las peticiones de servicio de los periféricos Genera señales de control para el resto de elementos. Esquema de un ordenador: Unidad aritmético-lógicas (U.L.A.): Circuitos de operaciones lógicas y aritméticas siguiendo las instrucciones de la unidad de control. Unidad de Punto Flotante (U.P.F.): Se encarga de realizar las operaciones aritméticas con números representados en formato exponencial o científico. Dota a la U.L.A. de mayor capacidad de cáclulo. Memoria Cache: Se trata de memora RAM muy rápida que almacena pequeñas cantidades de información, siendo usual las próximas instrucciones a ejecutar de forma secuencial. 5
Esquema de un ordenador: Búsqueda de instrucción U.L.A. U.P.F. 1 Ejecución de instrucción. 4 U.C. 3 2 Incrementar Cont. Prog. Decodificación de instrucción. Codificación de la información: 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. Código binario: Utilizado para representar información con dos estados: nivel lógico alto 1 y nivel lógico bajo 0 ( 0,1). BIT: Unidad de información binaria. 6
Codificación de la información: Byte: ( 8 bits). Unidad de medida de la información Número de bits necesarios para representar un carácter. Múltiplos Byte: 1 Kilobyte (KB) = 2 10 bytes = 1024 bytes.=10 3 1 Megabyte (MB)= 2 20 bytes = 1048576 bytes=10 6 1 Gigabyte (GB)=2 30 bytes = 1073741824 bytes =10 9 1 Terabyte (TB)=2 40 bytes = 10 12 1 Petabyte (PB) =2 50 bytes =10 15 Parámetros básicos de un ordenador: Frecuencia de trabajo de la CPU: La unidad de control se mueve a impulsos de un reloj. Este reloj queda definido por la frecuencia de trabajo, que se mide en MHz. Ancho de banda de los buses: Determina la capacidad de transferencia de información entre unidades. Se mide en Mbytes/segundo. Longitud de palabra: Número de bits que es capaz de procesar la ALU simultáneamente. ( 8, 16,32 y 64 bits) 7
Formato de una instrucción: El conjunto de bits que compone una instrucción se estructura en varios campos, cada uno de los cuales especifica un parámetro de la instrucción. Campos: Código de operación (OP): codifica el tipo de operación lógica o aritmética. Otros campos: determinan los operandos fuente y destino que intervienen en la instrucción. Bit N Bit 0 Código OP Operando 1 Operando 2 Resultado Fases en la ejecución de una instrucción: 1ª Búsqueda de la instrucción: Lectura de la instrucción señalada por la dirección de memoria almacenada en el contador de programa. 2ª Decodificación: Interpretación de la instrucción por la U.C. 3ª Búsqueda de operandos: La U.C. lee los operandos de la memoria. 4ª Ejecución: Genera la señales para procesar la instrucción. 5ª Escritura de resultado. 8
Tipos de instrucciones: El número y tipo de instrucciones que puede ejecutar una CPU depende de su arquitectura: CISC o RISC. Tipos de instrucciones: Transferencia: Para mover información entre bloques. Aritméticas: Suma, Resta, Producto y cociente binarios. Lógicas: AND, OR,XOR y NOT. De salto: sentencias condicionales e incondicionales. Lenguajes de programación: Definición: Conjunto de reglas lexicas que permiten describir la secuencias de acciones que se desea ejecutar. Clasificación de los lenguajes: Bajo nivel (Lenguaje máquina o binario (0,1)): Secuencias binarias. Interpretable directamente por la CPU. Intermedios (Lenguaje ensamblador) y C. Sentencias compuestas por nemotécnicos. Específico para cada CPU. Requiere un programa de traducción denominado Ensamblador. 9
Lenguajes de programación: Alto nivel: Utilizan sentencias próximas al lenguaje natural. Permiten el uso de librerías de rutinas ya programadas. Son independientes de los tipos de CPU. Requieren un programa de traducción denominado compilador. Relación de lenguajes de programación: Fortran, Cobol, PL1, Basic, Pascal, C, ADA, DELPHI, Modula, Clipper, Java, Perl, etc.. Entornos de programación orientada a eventos: Se trata de los entornos de programación visual para aplicaciones Windows, en las que se programan las acciones a ejecutar cuando se desencadena un evento sobre un elemento de la interfaz gráfica de usuario. Son ejemplos de ellos : Visual Basic, Visual Java Programación Orientada a Objetos. POO La tecnología orientada a objetos se define como una metodología de diseño de software que modela las características de objetos reales o abstractos por medio del uso de clases y objetos. Un objeto puede ser visto como una entidad que posee atributos y efectúa acciones. Estos objetos son casos particulares de entidades llamadas clases en donde se definen las características comunes de tales objetos. Todo objeto tiene un estado (atributos) y un comportamiento (acciones). 10
Evolución histórica de los ordenadores: 1ª Etapa: Constató arquitectura de Von Neumann Válvulas de vacío. Lenguaje máquina. Similitud de velocidades entre CPU y memoria 2ª Etapa: Circuitos integrados SSI y MSI. Memoria 10 veces más lenta que la CPU. Compensar diferencia de velocidad CISC. Instrucción --> macroinstrucción. CISC --> memoria de control --> microinstrucciones. Evolución histórica de los ordenadores: 3ª Etapa ( CISC ): Mejora la velocidad de las memorias. Aparece la memoria CACHE entre CPU y Memoria principal. Las CPU de tipo CISC, pierden poder al tardar más en ejecutar una instrucción. 11
Evolución histórica de los ordenadores: 4ª Etapa: RISC pipeline Mejora la velocidad de la CPU en base a : Instrucciones más simples. Interpretación directa de las instrucciones y ejecución en ciclo máquina. Selección de un nº mínimo de instrucciones. Ampliación de la cache para contener datos e instrucciones. Evolución histórica de los ordenadores: 5 Etapa: Paralelismo. Se trata de la computación distribuida, compajinar varias o múltiples U.C.P. En un único sistema con el objeto de obtener mayor velocidad de proceso. Se puede realizar a nivel de Circuito integrado (Chip) o a nivel de sistema. 12