Arquitectura de Computadores Arquitectura de Computadores Departament d’Informàtica de Sistemes i Computadors E.P.S.Alcoi Arquitectura de Computadores 1 Bloque Temático II: Arquitectura de Computadores ÖTema 3: Introducción a la arquitectura de un computador ÖTema 4: Procesadores segmentados ÖTema 5: El subsistema de memoria ÖTema 6: El subsistema de E/S ÖTema 7: Computadores Superescalares ÖTema 8: Multiprocesadores Arquitectura de Computadores Tema 6: El subsistema de Entrada/Salida 2 1 Arquitectura de Computadores El subsistema de Entrada/Salida ÖGestión de la Entrada/Salida ÖPlanificación de discos Arquitectura de Computadores 3 Categorías de dispositivos de entrada/salida Ö Dispositivos legibles por los humanos: • Apropiados para la comunicación con el usuario. • Impresoras. • Terminales de vídeo: # Pantalla. # Teclado. # Ratón. Arquitectura de Computadores Tema 6: El subsistema de Entrada/Salida 4 2 Arquitectura de Computadores Categorías de dispositivos de entrada/salida Ö Dispositivos legibles por la máquina: • • • • • Adecuados para comunicarse con equipos electrónicos. Discos y unidades de cinta. Sensores. Controladores. Impulsores. Arquitectura de Computadores 5 Categorías de dispositivos de entrada/salida Ö Dispositivos de comunicaciones: • Apropiados para comunicarse con dispositivos lejanos. • Adaptadores de líneas digitales. • Módem. Arquitectura de Computadores Tema 6: El subsistema de Entrada/Salida 6 3 Arquitectura de Computadores Diferencias entre las clases de dispositivos de E/S Ö Velocidad de los datos: • Puede haber una diferencia de varios órdenes de magnitud en las velocidades de transmisión de datos. Arquitectura de Computadores 7 Ethernet de gigabit Pantalla gráfica Disco duro Ethernet Disco óptico Escáner Impresora láser Disco flexible Módem Ratón Teclado 101 102 103 104 105 106 107 108 109 Velocidad de datos (bps) Figura 11.1. Velocidades de datos de dispositivos de E/S típicos. Tema 6: El subsistema de Entrada/Salida 4 Arquitectura de Computadores Diferencias entre las clases de dispositivos de E/S Ö Aplicaciones: • Un disco que almacena archivos necesita el soporte de un software de gestión de archivos. • Un disco usado como almacén de páginas de un sistema de memoria virtual necesita el soporte de un software y de un hardware especial. • Puede que un terminal usado por el administrador del sistema tenga una prioridad mayor. Arquitectura de Computadores 9 Diferencias entre las clases de dispositivos de E/S Ö Complejidad del control. Ö Unidad de transferencia: • Los datos pueden transmitirse como flujos de bytes para un terminal o en bloques mayores para un disco. Ö Representación de los datos: • Esquemas de codificación. Ö Condiciones de error: • Cada dispositivo responde a los errores de diferente manera. Arquitectura de Computadores Tema 6: El subsistema de Entrada/Salida 10 5 Arquitectura de Computadores Técnicas para realizar la E/S Ö E/S programada: • El proceso espera a que termine la operación. Ö E/S dirigida por interrupciones: • Se emite una orden de E/S. • El procesador continúa con la ejecución de las instrucciones. • El módulo de E/S lo interrumpe cuando completa su trabajo. Arquitectura de Computadores 11 Técnicas para realizar la E/S Ö Acceso directo a la memoria (DMA): • Un módulo de DMA controla el intercambio de datos entre la memoria principal y el dispositivo de E/S. • El procesador se interrumpe sólo cuando se ha transferido el bloque entero. Arquitectura de Computadores Tema 6: El subsistema de Entrada/Salida 12 6 Arquitectura de Computadores Evolución de las funciones de la E/S Ö El procesador controla directamente los dispositivos periféricos. Ö Se añade un controlador o módulo de E/S: • El procesador utiliza E/S programada sin interrupciones. • El procesador se aisla de los detalles específicos de las interfaces con dispositivos externos. Arquitectura de Computadores 13 Evolución de las funciones de la E/S Ö Controlador o módulo de E/S con interrupciones: • El procesador no tiene que desperdiciar tiempo esperando a que se realice una operación de E/S. Ö Acceso directo a la memoria: • Se puede mover un bloque de datos a la memoria sin que intervenga el procesador. • El procesador sólo interviene al principio y al final de la transferencia. Arquitectura de Computadores Tema 6: El subsistema de Entrada/Salida 14 7 Arquitectura de Computadores Evolución de las funciones de la E/S Ö El módulo de E/S es un procesador separado. Ö Procesador de E/S: • El módulo de E/S posee su propia memoria local. • Es un computador independiente. Arquitectura de Computadores 15 Acceso directo a la memoria Ö Toma el control del sistema desde la CPU para transferir datos desde y hacia la memoria a través del bus del sistema. Ö Se utiliza el robo de ciclos para transferir datos a través del bus del sistema. Ö El ciclo de instrucción se suspende para dar paso a la transferencia de datos. Ö La CPU espera un ciclo del bus. Ö No existe interrupción alguna: • No salva el contexto. Arquitectura de Computadores Tema 6: El subsistema de Entrada/Salida 16 8 Arquitectura de Computadores DMA Cuenta de datos Líneas de datos Líneas de direcciones Solicitud de DMA Reconocimiento de DMA Interrupción Lectura Escritura Arquitectura de Computadores Registros de datos Registros de dirección Lógica de control Figura 11.2. Diagrama de bloques de un DMA típico. 17 DMA Ö El robo de ciclos hace que la CPU ejecute más lentamente. Ö El número de ciclos de bus requeridos se puede acortar mediante la integración de las funciones del DMA y de la E/S. Ö Debe haber un camino entre el módulo de DMA y el módulo de E/S que no pasen por el bus del sistema. Arquitectura de Computadores Tema 6: El subsistema de Entrada/Salida 18 9 Arquitectura de Computadores Tiempo Ciclo de instrucción Ciclo del procesador Ciclo del procesador Ciclo del procesador Ciclo del procesador Ciclo del procesador Ciclo del procesador Leer instrucción Descodificar instrucción Leer operando Ejecutar instrucción Almacenar resultado Interrupción del proceso Puntos de ruptura por DMA Puntos de ruptura por interrupción Figura 11.3. Puntos de ruptura por DMA y por interrupción en un ciclo de instrucción. DMA Procesador DMA E/S E/S Memoria (a) DMA separada de bus sencillo Figura 11.4. Configuraciones posibles de DMA. Arquitectura de Computadores Tema 6: El subsistema de Entrada/Salida 20 10 Arquitectura de Computadores DMA Procesador DMA DMA Memoria E/S E/S E/S (b) DMA integrada de bus sencillo Figura 11.4. Configuraciones posibles de DMA. Arquitectura de Computadores 21 DMA Bus del sistema Procesador DMA Memoria Bus de E/S E/S E/S E/S (c) Bus de E/S Figura 11.4. Configuraciones posibles de DMA. Arquitectura de Computadores Tema 6: El subsistema de Entrada/Salida 22 11 Arquitectura de Computadores Aspectos de diseño en los sistemas operativos Ö Eficiencia: • La mayoría de los dispositivos de E/S son extremadamente lentos en comparación con la memoria principal. • El uso de la multiprogramación permite que algunos procesos esperen en operaciones de E/S mientras otro proceso se está ejecutando. • La E/S no puede seguir el paso de la actividad del procesador. • Se utiliza el intercambio para introducir más procesos listos, que es una operación de E/S. Arquitectura de Computadores 23 Aspectos de diseño en los sistemas operativos Ö Generalidad: • Es preferible gestionar todos los dispositivos de E/S de una manera uniforme. • Oculta la mayoría de los detalles de la E/S con dispositivos en rutinas de bajo nivel, de forma que los procesos y los niveles superiores contemplen a los dispositivos en términos generales, como la lectura, escritura, apertura, cierre, bloqueo y desbloqueo. Arquitectura de Computadores Tema 6: El subsistema de Entrada/Salida 24 12 Arquitectura de Computadores Procesos de usuario Procesos de usuario Procesos de usuario Gestión de directorios E/S lógica Arquitectura de comunicaciones Sistema de archivo Organización física E/S con dispositivos E/S con dispositivos E/S con dispositivos Planificación y control Planificación y control Planificación y control Hardware Hardware Hardware (a) Dispositivo periférico local (b) Puerto de comunicaciones (c) Sistema de archivos Figura 11.5. Un modelo de organización de E/S. Almacenamiento intermedio de la E/S Ö Razones para el almacenamiento intermedio: • Los procesos deben esperar a que termine la operación de E/S para continuar. • Algunas páginas deben permanecer en la memoria principal durante la E/S. Arquitectura de Computadores Tema 6: El subsistema de Entrada/Salida 26 13 Arquitectura de Computadores Almacenamiento intermedio de la E/S Ö Dispositivos orientados a bloque: • La información se almacena en bloques de tamaño fijo. • Las transferencias de un bloque se realizan cada vez. • Se utilizan para los discos y las cintas. Ö Dispositivos orientados a flujo: • Transfieren los datos como una serie de bytes. • Se utilizan para los terminales, impresoras, puertos de comunicación, ratones y otros dispositivos que no son de almacenamiento secundario. Arquitectura de Computadores 27 Memoria intermedia sencilla Ö El sistema operativo asigna a una solicitud de E/S un espacio en la parte del sistema de la memoria principal. Ö Dispositivos orientados a bloque: • Las transferencias de entrada se realizan en el espacio del sistema. • Cuando sea necesario, el proceso mueve el bloque al espacio del usuario. • El proceso mueve otro bloque al espacio: # Lectura por adelantado. Arquitectura de Computadores Tema 6: El subsistema de Entrada/Salida 28 14 Arquitectura de Computadores Almacenamiento intermedio de E/S Sistema operativo Dispositivo de E/S Proceso de usuario Entrar (a) Sin almacenamiento intermedio Sistema operativo Dispositivo de E/S Entrar Proceso de usuario Mover (b) Almacemiento intermedio sencillo Figura 11.6. Esquemas de almacenamiento intermedio de E/S (entrada). Arquitectura de Computadores 29 Memoria intermedia sencilla Ö Dispositivos orientados a bloque: • El proceso de usuario puede procesar un bloque de datos mientras se está leyendo el siguiente. • Se puede dar el intercambio, ya que la entrada tiene lugar en la memoria del sistema y no en la memoria de usuario. • El sistema operativo debe guardar constancia de las asignaciones de memorias intermedias del sistema a procesos de usuario. Arquitectura de Computadores Tema 6: El subsistema de Entrada/Salida 30 15 Arquitectura de Computadores Memoria intermedia sencilla Ö Dispositivos orientados a flujo: • Se aplica por líneas. • La entrada del ususario a partir de un terminal se realiza por líneas, marcadas con un retorno de carro al final de la misma. • La salida al terminal es línea a línea. Arquitectura de Computadores 31 Memoria intermedia doble Ö Utiliza dos almacenes intermedios del sistema en lugar de uno. Ö Un proceso puede transferir datos hacia o desde una memoria intermedia mientras que el sistema operativo vacía o rellena el otro. Arquitectura de Computadores Tema 6: El subsistema de Entrada/Salida 32 16 Arquitectura de Computadores Memoria intermedia circular Ö Se usan más de dos memorias intermedias. Ö Cada memoria intermedia individual constituye una unidad de la memoria intermedia circular. Ö Se usan cuando las operaciones de E/S han de ir al ritmo del proceso. Arquitectura de Computadores 33 Almacenamiento intermedio de E/S Sistema operativo Dispositivo de E/S Entrar Proceso de usuario Mover (c) Almacenamiento intermedio doble Proceso de usuario Sistema operativo Dispositivo de E/S Entrar Mover (d) Almacenamiento intermedio circular Figura 11.6. Esquemas de almacenamiento intermedio de E/S (entrada). Arquitectura de Computadores Tema 6: El subsistema de Entrada/Salida 34 17 Arquitectura de Computadores El subsistema de Entrada/Salida ÖGestión de la Entrada/Salida ÖPlanificación de discos Arquitectura de Computadores 35 Parámetros de rendimiento del disco Ö Para leer o escribir, la cabeza debe ponerse en la pista deseada, al comienzo del sector pertinente. Ö Tiempo de búsqueda: • Es el tiempo que se tarda en ubicar la cabeza en la pista deseada. Ö Retardo o latencia de giro: • Es el tiempo que tarda el comienzo del sector en llegar hasta la cabeza. Arquitectura de Computadores Tema 6: El subsistema de Entrada/Salida 36 18 Arquitectura de Computadores Media del tiempo de una transferencia de E/S a disco Espera por dispositivo Espera por canal Búsqueda Retardo de giro Transferencia de datos Dispositivo ocupado Figura 11.7. Media del tiempo de una transferencia de E/S a disco. Arquitectura de Computadores 37 Parámetros de rendimiento del disco Ö Tiempo de acceso: • Es la suma del tiempo de búsqueda y el retardo de giro. • Es decir, es el tiempo que se tarda en llegar a la posición de lectura o escritura. Ö La transferencia de datos tiene lugar a medida que el sector se mueve bajo la cabeza. Arquitectura de Computadores Tema 6: El subsistema de Entrada/Salida 38 19 Arquitectura de Computadores Políticas de planificación del disco Ö La razón de la diferencia en el rendimiento puede encontrarse en el tiempo de búsqueda. Ö Para un disco sencillo, habrá un número de solicitudes de E/S. Ö Si se eligen las solicitudes en un orden aleatorio, se obtendrá el peor rendimiento posible. Arquitectura de Computadores 39 Políticas de planificación del disco Ö Primero en entrar, primero en salir (FIFO): • Las solicitudes se procesan en un orden secuencial. • Es una estrategia justa para todos los procesos. • Esta técnica se parece mucho a la planificación aleatoria si hay muchos procesos. Arquitectura de Computadores Tema 6: El subsistema de Entrada/Salida 40 20 Arquitectura de Computadores Políticas de planificación del disco Ö Prioridad: • No persigue la optimización del uso del disco, sino cumplir con otros objetivos. • Los trabajos por lotes que sean cortos tienen una prioridad más alta. • Proporciona un buen tiempo de respuesta interactiva. Arquitectura de Computadores 41 Políticas de planificación del disco Ö Último en entrar, primero en salir: • Buena política para los sistemas de proceso de transacciones: # El hecho de conceder el dispositivo al último usuario acarrea pocos o nulos movimientos del brazo. • Existe la posibilidad de inanición, ya que puede que el trabajo no vuelva a ganar la cabeza de la línea. Arquitectura de Computadores Tema 6: El subsistema de Entrada/Salida 42 21 Arquitectura de Computadores Políticas de planificación del disco Ö Primero el tiempo de servicio más corto: • Elegir la solicitud de E/S a disco que requiera el menor movimiento posible del brazo del disco desde su posición actual. • Siempre se elige procurando el mínimo tiempo de búsqueda. Arquitectura de Computadores 43 Políticas de planificación del disco Ö SCAN: • El brazo sólo se puede mover en un sentido, resolviendo todas las solicitudes pendientes de su ruta hasta que alcance la última pista o hasta que no haya más solicitudes en esa dirección. • Se produce un cambio en la dirección. Arquitectura de Computadores Tema 6: El subsistema de Entrada/Salida 44 22 Arquitectura de Computadores Políticas de planificación del disco Ö C-SCAN: • Restringe el rastreo a una sola dirección. • Cuando se haya visitado la última pista en un sentido, el brazo vuelve al extremo opuesto del disco y comienza a recorrerlo de nuevo. Arquitectura de Computadores 45 Políticas de planificación del disco Ö SCAN de N pasos: • Divide la cola de solicitudes del disco en subcolas de longitud N. • Las subcolas se procesan una a una mediante un SCAN. • Mientras se procesa una cola, se añadirán nuevas solicitudes a las otras. Ö FSCAN: • Emplea dos subcolas. • Una de las colas permanece vacía en espera de nuevas solicitudes. Arquitectura de Computadores Tema 6: El subsistema de Entrada/Salida 46 23 Arquitectura de Computadores Algoritmos de planificación del disco Tabla 11.3. Algoritmos de planificación de disco [WIED87]. Nombre Descripción Comentarios Selección en función del demandante: RSS Planificación aleatoria Para análisis y simulación FIFO Primero en entrar, primero en salir El más justo de todos PRI Prioridad del proceso El control se lleva fuera de la gestión de LIFO Último en entrar, primero en salir la cola del disco Maximiza el uso de recursos y cercanía Selección en función del elemento solicitado: SSTF SCAN Primero el más corto Gran aprovechamiento y colas pequeñas Recorre el disco de un lado a otro Mejor distribución del servicio C-SCAN Recorre el disco en un solo sentido Menor variabilidad en el servicio SCAN de N pasos SCAN de N registros a la vez Garantía de servicio FSCAN SCAN de N pasos, con N =longitud de la cola al comienzo del ciclo del SCAN Sensible a la carga Arquitectura de Computadores 47 RAID 0 (no redundante) banda 0 banda 1 banda 2 banda 3 banda 4 banda 5 banda 6 banda 7 banda 8 banda 9 banda 10 banda 11 banda 12 banda 13 banda 14 banda 15 (a) RAID 0 (no redundante) Figura 11.9A. Niveles RAID. Arquitectura de Computadores Tema 6: El subsistema de Entrada/Salida 48 24 Arquitectura de Computadores Disco físico 0 Disco físico 1 Disco físico 2 banda 0 banda 0 banda 1 banda 2 banda 3 banda 1 banda 4 banda 5 banda 6 banda 7 Disco lógico Disco físico 3 banda 2 banda 8 banda 9 banda 10 banda 11 banda 3 banda 12 banda 13 banda 14 banda 15 banda 4 banda 5 banda 6 Software de gestión del vector banda 7 banda 8 banda 9 banda 10 banda 11 banda 12 banda 13 banda 14 banda 15 Figura 11.10. Correspondencia de datos para una serie RAID nivel 0. RAID 1 (espejo) banda 0 banda 1 banda 2 banda 3 banda 0 banda 1 banda 2 banda 4 banda 5 banda 6 banda 7 banda 4 banda 5 banda 6 banda 7 banda 8 banda 9 banda 10 banda 11 banda 8 banda 9 banda 10 banda 11 banda 12 banda 13 banda 14 banda 15 banda 12 banda 13 banda 14 banda 15 banda 3 (b) RAID 1 (espejo) Figura 11.9A. Niveles RAID. Tema 6: El subsistema de Entrada/Salida 25 Arquitectura de Computadores RAID 2 (redundancia mediante código Hamming) b0 b1 b2 b3 F4(b) F1(b) F2(b) (c) RAID 2 (redundancia mediante código Hamming) Figura 11.9A. Niveles RAID. RAID 3 (paridad por intercalación de bits) b0 b1 b2 b3 P(b) (d) RAID 3 (paridad por intercalación de bits) Figura 11.9B. Niveles RAID. Arquitectura de Computadores Tema 6: El subsistema de Entrada/Salida 52 26 Arquitectura de Computadores RAID 4 (paridad por intercalación de bloques) bloque 1 bloque 2 bloque 3 P(0-3) bloque 4 bloque 5 bloque 6 bloque 7 P(4-7) bloque 8 bloque 9 bloque 10 bloque 11 P(8-11) bloque 12 bloque 13 bloque 14 bloque 15 P(12-15) bloque 0 (e) RAID 4 (paridad por intercalación de bloques) Figura 11.9B. Niveles RAID. Arquitectura de Computadores 53 RAID 5 (paridad por intercalación distribuida de bloques) bloque 0 bloque 1 bloque 2 bloque 3 bloque 4 bloque 5 bloque 6 P(4-7) bloque 7 bloque 8 bloque 9 P(8-11) bloque 10 bloque 11 P(0-3) bloque 12 P(12-15) bloque 13 bloque 14 bloque 15 P(16-19) bloque 16 bloque 17 bloque 18 bloque 19 (f) RAID 5 (paridad por intercalación distribuida de bloques) Figura 11.9B. Niveles RAID. Arquitectura de Computadores Tema 6: El subsistema de Entrada/Salida 54 27 Arquitectura de Computadores RAID 6 (redundancia dual) Q(0-3) bloque 1 bloque 2 bloque 4 bloque 5 bloque 6 P(4-7) Q(4-7) bloque 7 bloque 8 bloque 9 P(8-11) Q(8-11) bloque 10 bloque 11 bloque 12 P(12-15) Q(12-15) bloque 13 bloque 14 bloque 15 bloque 0 P(0-3) bloque 3 (g) RAID 6 (redundancia dual) Figura 11.9B. Niveles RAID. Arquitectura de Computadores 55 Cache de disco Ö Es una memoria intermedia situada en la memoria principal para sectores de disco. Ö Contiene una copia de algunos sectores del disco. Arquitectura de Computadores Tema 6: El subsistema de Entrada/Salida 56 28 Arquitectura de Computadores Usado Menos Recientemente (LRU) Ö Se reemplaza el bloque que ha permanecido sin referencias en la cache durante más tiempo. Ö La cache está formada por una pila de bloques. Ö El bloque referenciado más recientemente está en la cima de la pila. Ö Cuando se hace referencia un bloque de la cache, se le mueve hasta la cima de la pila. Arquitectura de Computadores 57 Usado Menos Recientemente Ö Cuando se trae un bloque nuevo, se elimina el bloque que está en el fondo de la pila. Ö En realidad estos bloques no se mueven por la memoria principal. Ö Se utiliza una pila de punteros. Arquitectura de Computadores Tema 6: El subsistema de Entrada/Salida 58 29 Arquitectura de Computadores Usado Menos Frecuentemente (LFU) Ö Se sustituye el bloque que ha sufrido un menor número de referencias. Ö Se asocia un contador a cada bloque. Ö Con cada referencia al bloque, el contador se incrementa. Ö Cuando hace falta un reemplazo, se selecciona el bloque con menor valor del contador. Ö Puede que se haga referencia a algunos bloques a intervalos cortos de referencias repetidas y que, por lo tanto, no necesiten ser referenciados nuevamente . Arquitectura de Computadores 59 E/S en UNIX SVR4 Subsistema de archivos Cache de buffers Carácter Bloque Gestor de dispositivo Figura 11.14. Estructura de la E/S en UNIX. Arquitectura de Computadores Tema 6: El subsistema de Entrada/Salida 60 30 Arquitectura de Computadores E/S en WINDOWS 2000 Gestor de E/S Gestor de cache Controladores de sistema de archivos Controladores de red Controladores de dispositivos hardware Figura 11.16. Gestión de E/S en Windows 2000. Arquitectura de Computadores Tema 6: El subsistema de Entrada/Salida 61 31