900 likes | 1.17k Views
[ Arquitectura de Computadores ] INTERFACES Y COMUNICACIONES. Präsentation. 1 Arquitectura de Computadores. 5.1 Fundamentos E/S. 5.2 Estructura de E/S. 5.3 Almacenamiento externo. 5.4 Buses. 5.5 Dispositivos E/S. 5.6 Introducción a las redes.
E N D
[ Arquitectura de Computadores ]INTERFACES Y COMUNICACIONES Präsentation 1 Arquitectura de Computadores
5.1 Fundamentos E/S • 5.2 Estructura de E/S • 5.3 Almacenamiento externo • 5.4 Buses • 5.5 Dispositivos E/S • 5.6 Introducción a las redes • 5.7 Arquitecturas RAID [ Índice ] 2 Arquitectura de Computadores Präsentation
Introducción [ E/S ] Clasificación de los dispositivos E/S [Stallings]: 1. Dispositivos legibles por los humanos: apropiados para la comunicación con el usuario (mouse, teclado, monitor, impresora) 2. Dispositivos legibles por máquina: adecuados para comunicarse con equipos electrónicos (discos, cintas) 3. Dispositivos de comunicaciones: apropiados para comunicarse con dispositivos lejanos (modem, tarjeta Ethernet). 3 Arquitectura de Computadores Präsentation
Introducción [ E/S ] • Diferencias de los dispositivos E/S: • Aplicaciones (ej: disco que almacena archivos, disco que almacena páginas de memoria virtual) • Complejidad del control (ej: impresora vs. disco) • Unidad de transferencia (bytes o bloques) • Representación de los errores (check sum, codificación) • Condiciones de error (cómo y qué se informa) • Velocidad de los datos (diferencia en varios órdenes de magnitud) 4 Arquitectura de Computadores Präsentation
Introducción [ E/S ] Tarjeta posteruir Sun Gigaplane XB: Bus PCI 1010 1011 1012 Velocidades de datos de dispositivos 5 Arquitectura de Computadores Präsentation
Introducción [ E/S ] Velocidades de datos de dispositivos 6 Arquitectura de Computadores Präsentation
Introducción [ E/S ] • Clasificación de los dispositivos E/S [Tanenbaum]: • Dispositivos de bloques: dispositivos que almacenan la información en bloques de tamaño fijo (discos) • Dispositivos de caracteres: maneja la información mediante un flujo de caracteres sin estructurarlos en bloques (mouse, teclado, impresora) 7 Arquitectura de Computadores Präsentation
Introducción [ E/S ] • Objetivos del diseño de dispositivos E/S: • 1. Eficiencia: • La mayoría de los dispositivos son muy lentos en comparación con la memoria y la CPU. • Se usa multiprogramación para aprovechar los tiempos de espera. • Intercambio se usa para introducir más procesos listos para la ejecución. • El principal esfuerzo en el diseño de E/S ha sido crear esquemas que mejoren su eficiencia. • El área que ha recibido más atención ha sido el disco duro, su rapidez no ha evolucionado de la misma manera que la velocidad de las CPUs y memorias. 8 Arquitectura de Computadores Präsentation
Introducción [ E/S ] • Objetivos del diseño de dispositivos E/S: • 2. Generalidad: • Se desea que se gestionen todos los dispositivos de una manera uniforme • Así se oculta la mayoría de detalles de la E/S con en rutinas de bajo nivel, de forma que los procesos contemplen los dispositivos en términos de funciones generales (leer, escribir, abrir, cerrar, etc.) 9 Arquitectura de Computadores Präsentation
Introducción [ E/S ] Controladoras de dispositivos: Los dispositivos de E/S tienen componentes - mecánicos - electrónicos El componente electrónico se denomina: - controladora de dispositivo o - adaptador de dispositivo ( device controller) Muchas veces la controladora es capaz de manejar múltiples dispositivos idénticos. Muchas veces la controladora adopta un estándar (discos IDE o SCSI) 10 Arquitectura de Computadores Präsentation
Introducción [ E/S ] • Funciones típicas de las controladoras de dispositivos: • Convertir un flujo de bits en serie en un bloque de bytes • Corregir errores si es posible • Copiar datos a la memoria principal 11 Arquitectura de Computadores Präsentation
Introducción [ E/S ] Controladora de dispositivos: La controladora tiene registros que le sirven para comunicarse con la CPU. Al escribir: - para suministrar datos - para leer datos - encender o apagar dispositivo - etc. Al leer: - para averiguar el estado del dispositivo Además la controladora por lo general tiene un búfer. 12 Arquitectura de Computadores Präsentation
Introducción [ E/S ] Manejo de los registros: a) Espacio de E/S y de memoria aparte 13 Arquitectura de Computadores Präsentation
Introducción [ E/S ] Manejo de los registros: b) E/S con correspondencia en memoria 14 Arquitectura de Computadores Präsentation
Introducción [ E/S ] Manejo de los registros: c) híbrido 15 Arquitectura de Computadores Präsentation
5.1 Fundamentos E/S • 5.2 Estructura de E/S • 5.3 Almacenamiento externo • 5.4 Buses • 5.5 Dispositivos E/S • 5.6 Introducción a las redes • 5.7 Arquitecturas RAID [ Índice ] 16 Arquitectura de Computadores Präsentation
Interrupciones [ E/S ] • Existen tres técnicas para realizar la E/S: • E/S programada • E/S dirigida por interrupciones • E/S por acceso directo a la memoria 17 Arquitectura de Computadores Präsentation
Interrupciones [ E/S ] 1. E/S programada: El dispositivo E/S realiza la acción (no la CPU) colocando los bits necesarios en sus registros de status. No hay interrupciones. La CPU chequea los bits de status continuamente. 18 Arquitectura de Computadores Präsentation
Interrupciones [ E/S ] 2. E/S dirigida por interrupciones: La CPU es interrumpida cuando el dispositivo E/S está listo para intercambiar datos La CPU está libre entre la solicitud de datos e interrupción No hay necesidad de esperar Consume mucha CPU ya que cada byte leído/escrito pasa por la CPU desde/hacia la memoria 19 Arquitectura de Computadores Präsentation
Interrupciones [ E/S ] 2. E/S dirigida por interrupciones: Bus Pasos que ocurren cuando un E/S terminó su tarea 20 Arquitectura de Computadores Präsentation
Interrupciones Una interrupción que no cumple con estos requisitos es una “interrupción imprecisa” y hace muy difícil el diseño de un sistema operativo, pues se debe determinar que ha sucedido y que aún no ha sucedido cuando se interrumpe. [ E/S ] • Interrupción precisa (definición): • El contador de programa (PC) se guarda en un lugar conocido. • Todas las instrucciones previas a aquella a la que apunta PC ya se ejecutaron por completo. • No se ha ejecutado ninguna instrucción posterior a aquella a la que apunta PC. • Se conoce (y se guarda en un lugar conocido) el estado de ejecución de la instrucción a la que apunta PC. 21 Arquitectura de Computadores Präsentation
Interrupciones [ E/S ] 3. E/S con acceso directo a memoria (DMA): Transfiere un bloque de datos directamente hacia/desde la memoria Se envía una interrupción cuando los datos fueron transferidos La CPU sólo participa al inicio y al final de la acción 22 Arquitectura de Computadores Präsentation
Interrupciones [ E/S ] 3. E/S con acceso directo a memoria: Funcionamiento de una transferencia por DMA 23 Arquitectura de Computadores Präsentation
Interrupciones [ E/S ] 3. E/S con acceso directo a memoria: DMA con un solo bus 24 Arquitectura de Computadores Präsentation
Interrupciones [ E/S ] 3. E/S con acceso directo a memoria: DMA con buses independientes 25 Arquitectura de Computadores Präsentation
Interrupciones [ E/S ] 3. E/S con acceso directo a memoria: DMA con bus E/S 26 Arquitectura de Computadores Präsentation
Interrupciones [ E/S ] • Evolución de las funciones E/S (parte I): • El procesador controla directamente los dispositivos periféricos. • Se añade una controladora del dispositivo de E/S. La CPU utiliza E/S programada. • Se incorporan interrupciones. • La controladora recibe el control directo del DMA, se transfieren datos hacia/desde la memoria sin usar CPU. 27 Arquitectura de Computadores Präsentation
Interrupciones [ E/S ] • Evolución de las funciones E/S (parte II): • La controladora posee un procesador separado con un conjunto de instrucciones especializadas para E/S. La CPU central le ordena al procesador de E/S la ejecución de un programa de E/S en la memoria principal. • La controladora E/S posee adicionalmente su propia memoria local. La controladora es un computador independiente. 28 Arquitectura de Computadores Präsentation
Fundamentos [ Fundamentos ] La llegada de una interrupción provoca que la CPU suspenda la ejecución de un programa e inicie la ejecución de otro programa (rutina de servicio de interrupción). Como las interrupciones pueden producirse en cualquier momento, es muy probable que se altere la secuencia de sucesos que el programador había previsto inicialmente. Es por ello que las interrupciones deber controlarse cuidadosamente. 29 Arquitectura de Computadores Präsentation
Fundamentos [ Fundamentos ] Etapas seguidas ante una interrupción en un sistema dotado de “vectorización”: 1.- El dispositivo envía la solicitud de interrupción mediante la línea INTR (interrupt request). El procesador termina la ejecución de la instrucción en curso y analiza la línea de petición de interrupción, INTR. Si esta línea no está activada continuará normalmente con la ejecución de la siguiente instrucción, en caso contrario se pasa a la etapa siguiente. 30 Arquitectura de Computadores Präsentation
Fundamentos [ Fundamentos ] 2.- La CPU reconoce la interrupción, para informar al dispositivo de ello, activa la línea de reconocimiento de interrupción, INTA (interrupt acknowledge). 3.- El dispositivo que reciba la señal INTA envía el código de interrupción por el bus de datos. 4.- La CPU calcula la dirección de memoria donde se encuentra la rutina de servicio de interrupción (vector de interrupción). 31 Arquitectura de Computadores Präsentation
Fundamentos [ Fundamentos ] 5.- El estado del procesador, y en particular el contador de programa, se salva en la pila de la misma forma que en una llamada a procedimiento. La dirección de la rutina de servicio de interrupción se carga en el contador de programa, con lo que se pasa el control a la citada rutina. La ejecución continúa hasta que el procesador encuentre la instrucción de retorno de interrupción. 6.- Cuando se encuentre la instrucción de retorno de interrupción se restaura el estado del procesador, en especial el contador de programa, y se devuelve el control al programa interrumpido. 32 Arquitectura de Computadores Präsentation
Fundamentos [ Fundamentos ] Normalmente la primera instrucción de la rutina de servicio tendrá como fin desactivar las interrupciones para impedir el anidamiento, por otra parte, antes de devolver el control al programa interrumpido se volverán a habilitar si es necesario. 33 Arquitectura de Computadores Präsentation
5.1 Fundamentos E/S • 5.2 Estructura de E/S • 5.3 Almacenamiento externo • 5.4 Buses • 5.5 Dispositivos E/S • 5.6 Introducción a las redes • 5.7 Arquitecturas RAID [ Índice ] 34 Arquitectura de Computadores Präsentation
Introducción [ Estructura ] Dispositivo I/O CPU Controladora 35 Arquitectura de Computadores Präsentation
Introducción [ Estructura ] Dispositivo I/O 36 Arquitectura de Computadores Präsentation
Introducción [ Estructura ] Controladora 37 Arquitectura de Computadores Präsentation
Reconocimiento [ Estructura ] Bus de direcciones A0 A12 CPU MREQ INTA RD INTR WR decoder D0 D7 Bus de datos D0 D7 I/O ROM RAM CE CE CE A0 A11 38 Arquitectura de Computadores Präsentation
Reconocimiento [ Estructura ] Bus de direcciones A0 A12 CPU MREQ INTA RD INTR WR decoder D0 D7 Bus de datos D0 D7 1. El dispositivo I/O solicita atención (envía una señal de INT). I/O ROM RAM CE CE CE A0 A11 39 Arquitectura de Computadores Präsentation
Reconocimiento [ Estructura ] Bus de direcciones A0 A12 CPU MREQ INTA RD INTR WR decoder D0 D7 Bus de datos D0 D7 • El dispositivo I/O solicita atención (envía una señal de INT). • La CPU termina su instrucción y reconoce interrupción. I/O ROM RAM CE CE CE A0 A11 40 Arquitectura de Computadores Präsentation
Reconocimiento [ Estructura ] Bus de direcciones A0 A12 CPU MREQ INTA RD INTR WR decoder Dato D D0 D7 Bus de datos D0 D7 • El dispositivo I/O solicita atención (envía una señal de INT). • La CPU termina su instrucción y reconoce interrupción. • El dispositivo I/O envía un dato D por el bus de datos. I/O ROM RAM CE CE CE A0 A11 41 Arquitectura de Computadores Präsentation
Reconocimiento [ Estructura ] Bus de direcciones Dirección X A0 A12 CPU MREQ INTA RD INTR WR decoder D0 D7 Bus de datos D0 D7 • El dispositivo I/O solicita atención (envía una señal de INT). • La CPU termina su instrucción y reconoce interrupción. • El dispositivo I/O envía un dato D por el bus de datos. • La CPU forma una dirección X a partir del dato D, i.e. X=f(D), y ejecuta la rutina indicada. I/O ROM RAM CE CE CE A0 A11 42 Arquitectura de Computadores Präsentation
Reconocimiento [ Estructura ] Dirección X 5. Se ejecuta la rutina de atención. 6. Al final se regresa al programa inicial. 43 Arquitectura de Computadores Präsentation
Interrupción por vectores [ Estructura ] Vector de interrupciones: Un forma de obtener X a partir de D es mediante una tabla, denominada “vector de interrupciones”. En alguna parte de la memoria se encuentra el vector de interrupciones. Los elementos de este vector contienen las direcciones, o códigos para llegara a las direcciones, de atención a las rutinas de interrupción. 44 Arquitectura de Computadores Präsentation
Interrupción por vectores [ Estructura ] • Ejemplo (Interrupción de un teclado): • El teclado envía en el bus de datos el byte D=09h. • La CPU forma la dirección V a partir de D, en este caso V = 0009h, de esta manera lee en la dirección 0009h y 0000Ah de su memoria un dato X. Supongamos que esos datos son 12h y 03h (X = 1203h) • Este dato X es la nueva dirección de memoria, en la que se encuentra la rutina de atención a la interrupción, es decir PC 1203h. • La CPU ejecuta el programa a partir de la posición PC. Esta rutina lee la tecla presionada en el teclado. • La CPU termina de ejecutar la rutina de interrupción y vuelve al programa original. 45 Arquitectura de Computadores Präsentation
Múltiples interrupciones [ Estructura ] ¿Qué pasa si el computador tiene varios dispositivos I/O que pueden interrumpir? 46 Arquitectura de Computadores Präsentation
Múltiples interrupciones [ Estructura ] ¿Qué pasa si el computador tiene varios dispositivos I/O que pueden interrumpir? 1. La CPU debería tener una entrada INTR y una salida INTA por cada dispositivo. 2. Consulta mediante software. 3. Conexión en cadena. 4. Arbitraje del bus. 47 Arquitectura de Computadores Präsentation
Múltiples interrupciones [ Estructura ] 1. CPU con varios INTR/INTA CPU INTR1 INTA1 INTR2 INT2 INTRn INTAn I/O 2 I/O n I/O 1 48 Arquitectura de Computadores Präsentation
Múltiples interrupciones [ Estructura ] 2. Consulta mediante software Cuando la CPU detecta una interrupción se ejecuta una rutina general de servicio de interrupción que se encarga de consultar a cada módulo I/O para determinar en módulo que ha provocado la interrupción. Esto, generalmente se hace leyendo los registros de estatus de los dispositivos. El orden en que se pregunta implica el orden de jerarquía. 49 Arquitectura de Computadores Präsentation
Múltiples interrupciones [ Estructura ] 3. Conexión en cadena INTR INTA CPU I/O 1 I/O 2 I/O n 50 Arquitectura de Computadores Präsentation