Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011 Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11 Módulo 1. Fundamentos de Computadores 1 • • • • Tema 1. Introducción y conceptos básicos Tema 2. Representación de la información Tema 3. Hardware Tema 4. Software. Paquetes software aplicados a ingeniería Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11 CONTENIDO 2 Definíamos el ordenador como una máquina capaz de realizar, bajo el control de un conjunto ordenado de instrucciones denominado programa, lo siguiente: 1. Aceptar unos datos de entrada. 2. Efectuar con ellos operaciones lógicas y/o aritméticas (procesamiento). 3. Proporcionar la información resultante a través de unos datos de salida. Teniendo además la capacidad de almacenar información. Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11 Esquema funcional de un ordenador 3 Este esquema básico tiene sus orígenes en la propuesta de una máquina programable del matemático von Neumann capaz de ejecutar una serie de instrucciones u órdenes elementales almacenadas en la memoria principal. La máquina diseñada por von Neumann (matemático y químico) consta de: la unidad de entrada, la unidad de salida, la memoria principal, la unidad central de proceso (CPU) y la unidad de memoria masiva. Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11 Esquema funcional de un ordenador 4 • Unidad de entrada (input): Unidad a través de la cual se introduce en el ordenador la información desde el exterior. Transforma la información de entrada en señales eléctricas codificadas en binario • Unidad de salida (output): Suministra al exterior los resultados de las operaciones realizadas en el ordenador. Decodifica las señales eléctricas internas en caracteres escritos o visualizados. Proceso inverso al de las unidades de entrada. • Unidad central de proceso (CPU): Cerebro de una computadora, núcleo central donde tienen lugar las operaciones sobre los datos. Formada por la Unidad de control (UC) y la Unidad aritmético lógica (ALU). • Memoria: Lugar donde se almacenan los datos y programas. Se distingue entre memoria principal y secundaria o masiva. Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11 Esquema funcional de un ordenador 5 Los términos CPU, procesador y microprocesador suelen utilizados como sinónimos. Responsable de: • Organizar los accesos a memoria para leer instrucciones y datos. • Decodificar las instrucciones máquina y generar las señales correspondientes para cada unidad. • Organizar las transferencias de información entre los distintos componentes del ordenador como pueden ser la memoria, registros, controladores de los periféricos (disco duro, pantalla, teclado, etc.). • Gestionar la periferia del ordenador. Además de contener la UC y la ALU, posee registros, memoria caché y coprocesador matemático en una pastilla. Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11 Unidad central de proceso (CPU) 6 Existen varios fabricantes (Intel, AMD, Motorola) y modelos de procesadores (Pentium, Core Duo, Core Quad, I7, 68000, PowerPC, …). A la hora de elegir un procesador debe tenerse en cuenta: • Compatibilidad: Dos microprocesadores son compatibles si el software escrito para uno de ellos puede ser ejecutado en el otro. Como ejemplo la familia de microprocesadores de Intel y AMD son compatibles, pero no lo son con PowerPC (de Motorola-IBM). • Rendimiento: Velocidad con la que el procesador manipula la información. El rendimiento global viene determinado por los siguientes factores: Frecuencia de reloj: Velocidad a la que trabaja el reloj interno que sirve para sincronizar las señales eléctricas (media en GHz) La arquitectura del ordenador (RISC, CISC) Tamaño de la palabra de la CPU y Ancho del bus (32,64) Procesamiento paralelo, varias CPU o núcleos. Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11 Unidad central de proceso (CPU) 7 La Unidad de Control (UC), es un circuito especializado que controla la ejecución de las instrucciones siguiendo el orden establecido en el programa almacenado en memoria y actualmente en ejecución. Decodifica la instrucción máquina, secuencia las acciones necesarias para la ejecución de cada instrucción, generando las señales correspondientes para cada unidad, organizando las transferencias de información entre los distintos componentes internos del ordenador (memoria, registros, controladores, ALU) y los periféricos. Todas estas acciones las realiza de forma sincronizada en base al reloj del procesador. Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11 Unidad central de proceso (CPU) 8 Componentes de la UC: • PC (registro contador de programa): Contiene la dirección de memoria de la siguiente instrucción a ejecutar. • RI (registro de instrucción): Contiene el código de la instrucción que se está ejecutando. • Decodificador: Son circuitos especializados en determinar lo que se debe hacer en función del código de la instrucción a ejecutar y de las señales de estado de los dispositivos. • Reloj: Proporciona una sucesión de impulsos eléctricos o ciclos a intervalos constantes, que marcan los instantes en que han de comenzar los pasos de que consta cada instrucción. • Secuenciador: En este dispositivo se generan órdenes muy elementales (microórdenes) que sincronizadas por el reloj hacen que se vaya ejecutando paso a paso la instrucción que está cargada en el registro de instrucción. Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11 Unidad central de proceso (CPU) 9 La unidad aritmético lógica (ALU) contiene los circuitos electrónicos que realizan las operaciones aritméticas (como sumas, restas, multiplicaciones, etc.), lógicas (NO, Y, O, etc.), operaciones de desplazamiento, y cualquier otro tipo de operación incluida dentro del repertorio de instrucciones de la máquina. Opera para producir resultados o datos de salida a partir de datos de entrada en base a las órdenes remitidas por la UC, siendo auxiliada por registros o almacenes temporales para guardar datos y resultados parciales. Se compone de: • Circuitos operacionales: Circuitos digitales que realizan las. • Registros: Almacenan temporalmente los datos de entrada/salida, se distingue el registro acumulador que almacena el resultado de las operaciones, el de entrada que contiene los operandos antes de que se realice la operación , y el de estados que indican situaciones que se dieron en la última operación realizada (por ejemplo si ha sido 0, negativo, etc.) Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11 Unidad central de proceso (CPU) 10 El esquema de la ALU Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11 Unidad central de proceso (CPU) 11 Las fases para la ejecución de una instrucción: 1. Búsqueda de la instrucción: • Se carga en el registro de instrucción RI la instrucción que indique el contador de programa PC. • Se modifica el PC para que apunte a la siguiente instrucción. 2. Ejecución: • Se decodifica el código de la instrucción almacenada en el registro RI. • Se generan las señales de control necesarias, que se envían a los dispositivos correspondientes a través del bus de control (ALU, memoria principal, canales de E/S). 3. Si no ha terminado el programa, volver al paso 1. Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11 Unidad central de proceso (CPU) 12 De manera gráfica Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11 Unidad central de proceso (CPU) 13 La memoria principal almacena los datos y programas a ejecutar. Está formada por circuitos electrónicos integrados capaces de almacenar valores binarios (0 o 1) en cada celda de memoria. Conectada de forma directa con la CPU y la ALU, dado que estas unidades requieren operar con datos contenidos en la memoria, si tardan en llegar se ralentiza la ejecución del programa • Palabra de memoria: Es el conjunto de celdas de memoria que se pueden leer o escribir simultáneamente. Normalmente suelen ser múltiplo de 8 bits (1 byte), es decir 16, 32 o 64 bits. • Dirección de memoria: Es el número que identifica de forma unívoca cada palabra de memoria. • Órdenes de lectura y escritura: Son las dos operaciones que podemos realizar sobre la memoria, y tienen su origen en la unidad de control. Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11 Memorias 14 Ejemplo de una memoria de 1024 palabras de 1 byte cada una formando una memoria de 1 Kbyte. Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11 Memorias 15 Se distinguen dos tipos de memoria principal: • Memoria RAM (Random Access Memory): Es una memoria volátil de acceso directo que admite operaciones de lectura y escritura y es volátil. Existen varias tecnologías de fabricación (DRAM, SDRAM, SRAM), agrupadas a menudo en módulos (SIMM y DIMM), de diferentes capacidades (512, 1024, 2048, 4096 Mb, etc.) y tiempos de acceso. • Memoria ROM (Read Only Memory): Es una memoria no volátil de acceso directo y solo lectura. Existen diversos tipos (PROM, EPROM, EEPROM), siendo actualizable. Contiene información dela puesta en marcha y la BIOS. • Memoria caché: Memoria de pequeño tamaño y alta velocidad de acceso, generalmente ubicada entre la memoria principal y la CPU, o en dispositivos. Acelera los accesos a la información almacenada en la memoria principal. Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11 Memorias 16 La memoria masiva se caracteriza por ofrecer una velocidad de acceso más lenta que la memoria principal pero con una gran capacidad (Gigabytes, Terabytes) de almacenamiento, pudiendo configurarse como unidades internas, disco duro, o externas, DVD-R, disco USB, etc. • Dispositivos magnéticos: como discos magnéticos (discos duros), las cintas magnéticas (DIC, DAT) y los discos externos USB. • Dispositivos ópticos: tales como CD y DVD. • Dispositivos basados en tecnología de estado sólido: como es el caso de las memorias flash (memorias USB) y las tarjetas de memoria cuyo uso ha proliferado en la fotografía digital en diferentes formatos como CompactFlash, SD, miniSD y microSD, MemoryStick, etc. Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11 Memorias 17 Los diferentes tipos de memoria analizados hasta el momento deben combinarse para alcanzar un compromiso entre coste y rendimiento del sistema computador de forma transparente para el usuario. Una estructura jerárquica por niveles situando en los niveles más cercanos al procesador la tecnología más rápida y cara como registros o memoria caché y en los niveles más alejados tecnologías con mayor capacidad y menor coste como pueden ser los discos duros Procesador Control Memoria Memoria Memoria Ruta de Datos Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11 Memorias Memoria Memoria 18 Los ordenadores no serían de utilidad si no pudieran intercambiar información con el exterior. Son los periféricos o dispositivos de entrada/salida. Existen tres formas de controlar un periférico: •Por consulta: Periódicamente la CPU consulta al controlador de dispositivo si tiene datos mediante el envío de comandos. •Por interrupción: Cuando el dispositivo quiere comunicar algo, el controlador interrumpe a la CPU. El número de interrupción se establece para saber de qué dispositivo se trata. •DMA (Direct Memory Access): La información se transmite directamente de memoria a periférico (y viceversa) sin intervención de la CPU, excepto al principio y final de la transmisión. Un controlador, programa facilitado por el fabricante, gestiona las operaciones E/S con el dispositivo Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11 Dispositivos de entrada y salida (E/S) 19 Los dispositivos de entrada permiten introducir información en el ordenador codificándola, siendo los ejemplos más representativos el teclado y el ratón. Otros ejemplos: cámaras o escáneres, los lectores de código de barras, los lectores de bandas magnéticas, los micrófonos o los joysticks. Los dispositivos de salida son utilizados para transmitir información al exterior, decodificándola para facilitar su interpretación. Algunos ejemplos los monitores o pantallas, las impresoras (matriciales, láser, chorro tinta), los trazadores o plotters, o los dispositivos de salida sonora como por ejemplo los altavoces. Los dispositivos de entrada/salida permiten tanto la entrada como la salida. Como ejemplos: Router o módem (modulador/demodulador, tarjeta de sonido, tarjeta de red. Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11 Dispositivos de entrada y salida (E/S) 20 Los buses son el conjunto de cables (hilos, pistas) responsables de permitir la comunicación entre todos los módulos del ordenador, de modo que por cada hilo se puede transmitir información codificada. Podemos distinguir el bus de datos que transmite instrucciones y datos, el de direcciones que transmite direcciones de memoria, y el de control que transmite señales para controlar y sincronizar todos los componentes del ordenador. conectores Dispositivos del ordenador Control dispositivo E/S 1 Control dispositivo E/S 2 Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11 Dispositivos de entrada y salida (E/S) 21 Bus Ordenador Existen dos tipos de transmisiones a través de un bus: la transmisión serie, donde se transmiten y reciben varios bits por el mismo hilo uno detrás de otro la transmisión paralelo que se realiza con conjuntos de bits a la vez, uno por cada hilo. El puerto de un ordenador es la conexión eléctrica a través de la cual el ordenador envía y recibe datos de otros dispositivos. Algunos ejemplos son el puerto serie, el paralelo, el de vídeo, el de teclado, Firewre, USB, MIDI, etc. Los conectores internos son los situados en la propia placa del ordenador: • Slots o ranuras de expansión: Están ubicadas en la placa madre y permiten conectar tarjetas de expansión para dotar al PC de ciertas capacidades (ISA, PCI, PCMCIA, PCCard, ExpressCard). • Tecnología inalámbrica: Bluetooth y WiFi Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11 Dispositivos de entrada y salida (E/S) 22 Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11 Dispositivos de entrada y salida (E/S) 23 Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11 Dispositivos de entrada y salida (E/S) 24 • Fundamentos de Informática y Programación para Ingeniería. Ejercicios Resueltos para C y Matlab. Modesto Castrillón et al, Paraninfo, 2011. • Capítulos 1 y 14 de Introducción a la informática, A. Prieto Espinosa, A. Lloris Ruiz, J.C. Torres Cantero, McGraw-Hill, Madrid (1989) • Capítulo 1 de Una introducción a la programación. Un enfoque algorítmico. J. García Molina et al., Thomson, 2005. • Funcionamiento del ordenador (Univ. De Navarra) Grupo Docente IyP – Departamento de Informática y Sistemas - 2010/11 Bibliografía 25