1 / 85

[ Arquitectura de Computadores ] INTERFACES Y COMUNICACIONES

[ 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.

Télécharger la présentation

[ Arquitectura de Computadores ] INTERFACES Y COMUNICACIONES

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. [ Arquitectura de Computadores ]INTERFACES Y COMUNICACIONES Präsentation 1 Arquitectura de Computadores

  2. 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

  3. 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

  4. 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

  5. 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

  6. Introducción [ E/S ] Velocidades de datos de dispositivos 6 Arquitectura de Computadores Präsentation

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. Introducción [ E/S ] Manejo de los registros: a) Espacio de E/S y de memoria aparte 13 Arquitectura de Computadores Präsentation

  14. Introducción [ E/S ] Manejo de los registros: b) E/S con correspondencia en memoria 14 Arquitectura de Computadores Präsentation

  15. Introducción [ E/S ] Manejo de los registros: c) híbrido 15 Arquitectura de Computadores Präsentation

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. Interrupciones [ E/S ] 3. E/S con acceso directo a memoria: Funcionamiento de una transferencia por DMA 23 Arquitectura de Computadores Präsentation

  24. Interrupciones [ E/S ] 3. E/S con acceso directo a memoria: DMA con un solo bus 24 Arquitectura de Computadores Präsentation

  25. Interrupciones [ E/S ] 3. E/S con acceso directo a memoria: DMA con buses independientes 25 Arquitectura de Computadores Präsentation

  26. Interrupciones [ E/S ] 3. E/S con acceso directo a memoria: DMA con bus E/S 26 Arquitectura de Computadores Präsentation

  27. 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

  28. 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

  29. 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

  30. 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

  31. 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

  32. 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

  33. 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

  34. 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

  35. Introducción [ Estructura ] Dispositivo I/O CPU Controladora 35 Arquitectura de Computadores Präsentation

  36. Introducción [ Estructura ] Dispositivo I/O 36 Arquitectura de Computadores Präsentation

  37. Introducción [ Estructura ] Controladora 37 Arquitectura de Computadores Präsentation

  38. 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

  39. 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

  40. 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

  41. 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

  42. 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

  43. 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

  44. 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

  45. 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

  46. Múltiples interrupciones [ Estructura ] ¿Qué pasa si el computador tiene varios dispositivos I/O que pueden interrumpir? 46 Arquitectura de Computadores Präsentation

  47. 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

  48. 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

  49. 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

  50. 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

More Related