Esas cosas de operaciones de E / S: de votación, interrupción, DMA, canales

 

  Dispositivos I / O es una parte importante del equipo, que van desde la complejidad de los dispositivos de procesador de E / S para interactuar con, y la operación de E / S se ha sido un punto de vista técnico de los desarrolladores de lenguajes de alto nivel más difíciles de comprender.

  Debido a que el paquete de lenguaje de alto nivel para la E / S de las funciones del sistema operativo i sistema operativo basado, que es llamada por estos sistemas de función y su estructura y mecanismo de trabajo de la capa de hardware de estrechamente relacionados, por lo que aquellos que quieran obtener completamente a conocer la función de operaciones de E / S, debe tener una cierta comprensión de su trabajo basado en el dispositivo subyacente. Aquí nos fijamos en la evolución operaciones de proceso de E / S.

  la operación en modo de sondeo I / O

  O el modo de dispositivo asignado programa de I / O, un sistema informático es el manejo inicial de los dispositivos de E / S. Es la temporización de varios dispositivos a su vez vuelve a preguntar si o procesamiento de requisitos. Después de preguntar a su vez, ha requerido, y luego se dirige. Después de que el procedimiento de la reivindicación I / O dispositivo, los rendimientos de procesador para seguir trabajando. Mientras que el sondeo lleva tiempo, pero la velocidad de los dispositivos de votación de E / S es mucho más rápido, el problema no se produce normalmente no puede manejar, oportunidad operación de E / S está garantizada. Sin embargo, aún más rápido procesador, el número de dispositivos de entrada y salida también son capaces de manejar un cierto límite. Además, el programa ocupa una parte considerable del tiempo de procesamiento de la CPU de votación, por lo tanto el procedimiento de votación es una forma menos eficiente, en los sistemas informáticos modernos rara vez se utiliza.

  2.  interrupción de la operación de E / S

  Entre los procesadores y dispositivos de E / S en varios órdenes de magnitud de diferencia de velocidad es una contradicción importante de E / S existen operaciones, gestión de dispositivos es un tema importante que hay que resolver. Para aumentar la eficiencia general, para reducir el control directo de un programa dispositivos de E / S para interactuar con es necesario el procesador de datos. En el I / O de interrupción dispositivo, la etapa de transmisión de datos entre el procesador central y el dispositivo I / O son como sigue:

  ⑴ cuando un proceso requiere datos, emitido una directiva para iniciar la preparación de los dispositivos de entrada y de salida de datos

  ⑵ emite una instrucción después de iniciar el equipo de proceso, el proceso dan el procesador, el proceso por el sistema operativo para establecer un estado bloqueado, a la espera para la operación de E / S correspondiente se ha completado. En este punto, el planificador de procesos programará otros procesos que utilizan el procesador de listo.

  ⑶ Cuando se completa la operación de E / S, los problemas del controlador de dispositivos de entrada-salida de una línea de solicitud de interrupción por una señal de interrupción al procesador, el procesador después de recibir una señal de interrupción, la dirección prediseñados controlador de interrupción, el proceso de trabajo de transferencia de datos correspondiente .

  Después ⑷ datos preparado, OS bloqueará el proceso se despierta, se ha tenido en el estado preparado. En algún momento posterior, el planificador de procesos seleccionará el proceso continúa con el trabajo.

  Las ventajas y desventajas de interrupción

  Utilización de I / interrupción dispositivo O hace que el procesador para mejorar, y se puede apoyar el programa de funcionamiento en paralelo de varios canales y los dispositivos de E / S.

  Sin embargo, todavía hay algunos problemas de interrupción. En primer lugar, los sistemas informáticos modernos están configurados típicamente con una variedad de dispositivos de entrada y de salida. Si los dispositivos de E / S con el procesamiento de alarmas a través de la operación en paralelo, la interrupción provocará un fuerte incremento en el número de CPU no puede responder a un fenómeno de interrupción y pérdida de datos.

  En segundo lugar, si el búfer de datos I / O controlador es relativamente pequeño, de interrupción se produce después de la memoria intermedia está llena de datos. A continuación, en el proceso de transferencia de datos, más posibilidades de interrupción se produce, será quemar una gran cantidad de tiempo de procesamiento de la CPU.

  Con el fin de distinguir aquí en modo O Un I /, hablamos de los dispositivos de trabajo de E / S. Empezamos a entender un dispositivo de hardware, el controlador de dispositivo.

  2.1  Dispositivo Controller

  La entidad controlador es un dispositivo de ordenador en sus funciones principales son para controlar uno o más dispositivos I / O, para permitir el intercambio de datos entre los dispositivos de E / S y el ordenador. Es la interfaz entre la CPU y el dispositivo de I / O, que recibe una orden enviada desde la CPU, y para controlar dispositivos I / O de trabajo, de modo que el procesador liberado de la operación de control del dispositivo complejo. El dispositivo controlador es un dispositivo direccionable, es sólo cuando un dispositivo de control, que sólo es una dirección de dispositivo única, Si el control se puede conectar a una pluralidad de dispositivos, que comprende una pluralidad de dispositivos debe abordar y cada dirección del dispositivo corresponde a un dispositivo. controlador de dispositivo tiene muchas responsabilidades, nos limitamos a decir que esta explicación relacionada con las funciones propias de ese intercambio de datos.

  medios de intercambio de datos para intercambiar datos entre el controlador y el dispositivo entre la CPU y el controlador. Para el primero, a través de un bus de datos, los datos en paralelo se escribe en el controlador por una CPU, o los datos se leen a cabo en paralelo desde el controlador, este último, los datos se introduce en el dispositivo controlador, o desde el controlador al dispositivo . Por esta razón, los datos se facilitará en el registro del controlador.

  Hemos mencionado anteriormente, el dispositivo controlador de interrupción se emite para el procesador, es proceso de intercambio de datos concebible:

  1. 100M procesador necesita los datos en el disco, y luego emite un comando de lectura al procesador de disco, y el proceso de bloques hasta que los datos están listos.

  2. El procesador de disco recibe la instrucción de lectura, una búsqueda / direccionamiento y otros datos para encontrar las operaciones de disco de destino, los datos de lectura a los registros del procesador de disco. Suponiendo que la capacidad de memoria es 1 M, después de esperar durante una interrupción para el registro de la CPU lee completo.

  3. CPU recibe una señal de interrupción, los datos de proceso para despertarse lea la instrucción, la lectura de datos desde el controlador de disco para el registro de memoria. Esperando a leer es completa, no hay datos se pueden leer, siguen entrando en el estado bloqueado.

  4. El controlador de disco para leer los datos de nuevo al registro de disco es 1M, una vez más enviar una interrupción a la CPU. Ciclo, hasta que los datos leídos 10 M finalización.

  Se puede observar a optimizar la idea general es que al interrumpir el mecanismo, el controlador de dispositivo lee los datos desde el dispositivo para registrar ahorrar tiempo de espera, la CPU no va a esperar en este tiempo ocupado, puede hacer otras cosas significativas . Sin mencionar, que esta idea es muy similar a la cerradura de lograr, es optimizar no pico ocupado espera espera, evitando el funcionamiento ineficaz de la CPU.

  Pero justo debajo de la desventaja también es muy clara sobre las frecuentes interrupciones aumentará la presión en la CPU, en particular registro algunos del controlador de equipo es relativamente pequeña, la operación de la frecuencia de interrupción es muy alto una vez I / O. También los datos leídos de la memoria intermedia del núcleo para el procesador del dispositivo es todo el proceso de intervención de la CPU, byte a byte de lectura o de escritura a estas operaciones y no hay una lógica compleja, se procesa directamente por la CPU y algunos residuos de los recursos.

  el funcionamiento en modo 3. DMA I / O

  medios de acceso directo a memoria, en la transferencia de bloques de datos directamente entre la memoria y los dispositivos de E / S. Esta técnica se basa dispositivo DMA, una CPU liberado de trabajo de transmisión de datos simple.

  Hay dos características de DMA, transferencia directa primero, seguido de un bloque. El llamado proceso de transferencia directa, es decir, una transferencia de bloque de datos entre la memoria y el dispositivo IO, cualquier intermedio sin intervención de la CPU, únicos problemas de la CPU un comando "datos de bloque de transporte" al dispositivo al comienzo del proceso, y luego ser aprendido por la interrupción si el proceso está completo y listo para la siguiente operación es, por supuesto, este no es el dispositivo controlador DMA dispositivo de interrupción enviada a la CPU.

  proceso de trabajo DMA:

  Cuando ⑴ Cuando el equipo de proceso requiere datos de entrada, la CPU para almacenar los datos de entrada para preparar la dirección de memoria inicial y el número de bytes a transferir se envían al controlador de DMA en la dirección de memoria y el registro de contador de bytes de transferencia.

  ⑵ requisitos emitidos para la transmisión de datos entra en un estado de espera. instrucciones de la CPU está siendo ejecutado en este momento está suspendida temporalmente, el proceso entra en el estado bloqueado. Proceso del planificador de programación de otros procesos ocupan la CPU.

  ⑶ dispositivo de entrada robar constantemente los ciclos de CPU trabajo (o para el bus de memoria de la CPU), el registro de memoria intermedia de datos en la memoria flujo constante hasta que los bytes necesarios será transferido.

  controlador ⑷DMA, cuando todos los bytes sido transferido, se emite una línea de solicitud de interrupción por una señal de interrupción. Después de que la CPU recibe la señal de interrupción, la interrupción rutina del proceso procede al procesamiento posterior.

  Después de ⑸ proceso de interrupción, la CPU vuelve al proceso interrumpido, o cambiar a una nueva contextos de proceso, continúan.

  DMA e interrumpir la diferencia

  ⑴ de interrupción se emite después de que los datos de controlador dispositivo tampón registro de interrupción completa emitido por el controlador de dispositivo, el procesamiento requiere la interrupción de la CPU, y el modo DMA se encuentra en la solicitud de transferencia de bloque de datos de alarma de proceso todos los requisitos de la CPU en el final de la transferencia , emitida por el dispositivo de DMA. Esto reduce considerablemente el número de procesamiento de la CPU de interrupción.

  ⑵ modo de transferencia de datos se interrumpe cuando el proceso de interrupción se completa con la CPU del control, mientras que el modo DMA está bajo el control del controlador de DMA, sin que se complete control de la CPU. Esto elimina la CPU debido al procesamiento en paralelo, y demasiados dispositivos y demasiado tarde, ya que no se ajustan a la velocidad de la pérdida de datos y así sucesivamente.

  Ventajas y desventajas de la DMA

  En el modo DMA, ya que el dispositivo I / O para bloquear el intercambio de datos se produce directamente con la memoria, I / O es más eficiente. Dado que la tecnología DMA puede mejorar la eficiencia de E / S, por lo que los sistemas informáticos modernos, se ha utilizado ampliamente. Muchos controladores de dispositivos O, bloque de controlador de dispositivo, en particular, el modo, el apoyo DMA.

  Puede verse en el análisis anterior, la resistencia de la función del controlador DMA, un factor clave en la determinación de la eficiencia de la DMA. controlador de DMA para cada transferencia de datos requiere una gran cantidad de trabajo, lo que reduce el número medio de unidad de transferencia de datos de las transmisiones de aumenta. Además, el ciclo de reloj DMA modo de robar, porque ocupa un acceso al bus de datos de memoria, se reduce la eficiencia de procesamiento de la CPU, con el fin de minimizar el ciclo de robar siempre, tratará de mejorar el rendimiento del controlador de DMA, que puede ser menos influencia la eficiencia de procesamiento de la CPU.

  DMA es generalmente un enfoque relativamente satisfactoria, el dispositivo DMA mediante la introducción de la CPU de la pesada liberado operaciones de E / S. CPU sólo tiene que enviar una solicitud de lectura y la obtención de resultados de procesamiento, sin la necesidad de centrarse en el proceso de transmisión específica las operaciones de E / S.

  4. La forma de realización del canal de I / O 

  Canal de entrada / salida es independiente de la CPU de una dirección dedicada de I / O del procesador, que controla el dispositivo de memoria y para intercambiar datos directamente. Tiene su propio canal de comandos, los canales iniciados por las instrucciones de la CPU, y emita una señal de interrupción a la CPU al final de la operación. El canal de control de entrada / salida es un tipo de memoria como el centro, para lograr dispositivos de intercambio directo y datos de control de memoria. En el canal, la dirección de transferencia de datos, la memoria de almacenamiento de datos a partir dirección y la longitud de bloques de datos transmitidos por el canal y similares, para control. Además, el control de canal se puede realizar una pluralidad de canal de control para intercambiar datos con el dispositivo de memoria. Por lo tanto, el modo de canal para reducir aún más la carga de la CPU, lo que aumenta el grado de sistema de ordenador de trabajo paralelo.

  En diferentes tipos de intercambio de información y el dispositivo conectado, los canales se pueden dividir en los siguientes tres tipos:

  ⑴ byte multiplexor

  Es adecuado para la conexión de una baja velocidad o impresoras de velocidad media, terminales y otros dispositivos de E / S. Tal transversal del canal bytes de trabajo: cuando el dispositivo transmite un byte es uno, se transfiere inmediatamente a una transferencia de byte a otro dispositivo.

  ⑵ seleccionar el canal

  Es adecuado para el disco de conexión, cinta, y otros dispositivos de alta velocidad. Este canal a "modo de ráfaga", y cada grupo de transferencia de datos, la velocidad de transferencia es alta, pero durante un período de tiempo sólo puede haber un servicios de dispositivo. Siempre que una solicitud de E / S después de la transformación, y selecciona sus servicios a otro dispositivo.

  ⑶ multiplexor grupo

  Este canal combina el byte multiplexor seleccionar un alto tiempo compartido, y las características de la tasa de transmisión del canal, su esencia es: técnicas de programación multi-canal del programa de canal, de modo que el dispositivo puede trabajar con el canal conectado en paralelo.

  En el modo de canal de control, el controlador de dispositivo de I / O (a menudo referido como I / O controlador) no se transmiten contador de bytes, y un registro de dirección de memoria, pero un controlador de dispositivo de múltiples canales y la sección de ejecución de instrucciones. comando de arranque CPU simplemente cuestión indicando respectivos canales de operaciones y los dispositivos de E / S, esta instrucción puede ser iniciado y el canal del canal hasta canal instrucción correspondiente de la memoria para su ejecución. Una vez que la CPU emite una instrucción para iniciar el canal, el canal comenzó a trabajar. I O canal de control O controlador de trabajo / I /, I / O controlador y el control de dispositivos de E / S. De este modo, un canal puede estar conectado a una pluralidad de I / O controlador y una I / O controlador y un número de unidades del mismo tipo se pueden conectar a un dispositivo externo. Dado que el número de canales y el controlador es típicamente menor que el número de dispositivos, y por lo tanto, si está conectado de forma inadecuada, a menudo resulta en un "cuello de botella". Está conectado a un equipo de conexión cruzada en uso general, los beneficios de hacerlo son:

  ① mejorar la fiabilidad del sistema: Cuando se desconecta un fallo de la vía o canal por el controlador, puede utilizar otros caminos.

  ② mejorar el paralelismo del dispositivo: un dispositivo para el mismo, cuando está ocupado un cierto pasaje en el controlador conectado a ella o el canal, puede seleccionar otro canal libre, el dispositivo reduce el tiempo de espera para el paso necesario.

  procesador de canales

  Corresponde a una simple función de procesadores de canal, que tiene su propio conjunto de instrucciones, incluyendo lectura, escritura, el control se transfiere a la instrucción operación final y el aire, y pueden ser escritas por la ejecución de las instrucciones del programa de canal.

  canal de control aritmético medio comprende:

  ① palabra dirección del canal (CAW): la dirección de la grabación de la siguiente instrucción almacenada en el canal, que funciona de manera similar al registro central de instrucciones del procesador.

  ② palabra de comando de canal (CCW): se ejecuta la instrucción de registro de canal, que actúa como un registro central de instrucciones del procesador.

  ③ palabra de estado de canal (CSW): el estado de grabación del canal, el controlador, incluyendo el aparato la información de finalización de transferencia de E / S, mensajes de error, número de veces realizadas repetidamente.

  En general tenemos que compartir el mismo canal y la memoria del host, para guardar el programa y cambiar los datos del canal. canal de acceso de memoria mediante el modo "ciclo de robar". Con camino de paso, la entrada del proceso / salida es la siguiente:

  encuentros CPU solicito / O cuando se ejecuta el programa de usuario basado en la petición de E / S del usuario genera un programa de canal (que puede ser pre-programada). En la memoria, y la primera dirección del programa de canal en el CAW.

  A continuación, las preformas de CPU "O Start I / O" de mando, para iniciar canal de trabajo. receptor de canal "Inicio de E / S" comando de la señal, la primera dirección del programa de canal tomada de la CAW y la primera instrucción es programa de canal descabellada acuerdo con esta dirección en la CAC; al mismo tiempo para enviar CU señal de respuesta, la notificación "Inicio I / O "la finalización de instrucciones se ha completado, la CPU puede continuar.

  Canal comienza la ejecución del programa de canal, las operaciones de E / S físicas. Cuando se ejecuta la instrucción después, si hay la próxima ejecución de la instrucción continúa, de lo contrario, indica la finalización de la transmisión, mientras que la parada por su cuenta, notificar a la CPU para procesar el final del evento canal de transferencia, y con el estado del canal relevante de la CCAC. En resumen, en el canal, I / O usando un procesador auxiliar dedicado operaciones de E / S, lo que reduce la carga de procesamiento del procesador anfitrión I O de /. Mientras las cuestiones procesador anfitrión una orden de operación de E / S, el trabajo restante en su totalidad por el canal. Después de la operación de E / S, I / O canales emitirá una solicitud de interrupción, que indica que la operación correspondiente es completa.

  La idea es desarrollar desde principios del paso de sistemas informáticos a gran escala en conjunto. En el sistema de la computadora central temprano, el general Peiyoutailiang de E / S de los dispositivos. Con el fin de gestionar la dispositivos I / O se separan desde el ordenador principal, el concepto de formación de I / O canales, y un procesador de canal especialmente diseñado I / O. E / S remotas es un componente muy importante en el sistema informático, a mejorar el rendimiento general del sistema juega un papel muy importante. Sin embargo, con el desarrollo de la tecnología, para mejorar continuamente el procesador y el rendimiento del dispositivo de E / S, dedicada, procesador de canales de E / S independiente no es fácil de ver. Pero la idea de canales e incorpora muchas nuevas tecnologías, todavía es ampliamente utilizado con. Dado que la tecnología de canal de transmisión de datos por fibra óptica que tiene

Una alta tasa de transmisión, la distancia de transmisión de datos y ventajas de los sistemas de almacenamiento masivo de diseño simplificado, la nueva tecnología de canal de fibra común se está desarrollando rápidamente. Este canal general de fibras 127 puede acomodar hasta unos discos duros de gran capacidad en un canal. Obviamente, a las aplicaciones de almacenamiento de gran capacidad de alta velocidad, canal de fibra universal cuenta con una amplia gama de aplicaciones.

  Para la primera interacción de tres I / O, la características siguientes:

  1. requiere intervención de la CPU: sondeo requiere intervención de la CPU completa, el modo de interrupción requiere intervención de la CPU en su totalidad, pero que espera la CPU no ocupados en el ínterin, se pueden hacer otras cosas, el modo de transferencia DMA requiere CPU en el principio y el final de la intervención.

  soporte de hardware 2. Necesidad: encuesta requiere sólo el procesador más básica puede; la necesidad de aumentar el modo de interrupción de interrupción del controlador; modo DMA DMA requiere un procesador y controlador de interrupciones.

  Estas tres formas para que los periféricos no son demasiadas las minicomputadoras, para la entrada de E / S de múltiples dispositivos y el sistema de salida compleja, ocupar demasiado tiempo de CPU, la interfaz de hardware es demasiado compleja. tecnología de canal de modo que la CPU puede gestionar un gran número de dispositivos externos con instrucciones de E / S limitados, en lugar del control y la gestión de periféricos de la CPU.

  El controlador del dispositivo aumenta entre la CPU y dispositivos I / O pueden reducir en gran medida la interferencia tiene la CPU I / O, de modo que la CPU se libera de muchos procesos io, pero cuando la configuración exterior del número de dispositivo anfitrión, carga de la CPU también es muy pesada, y para este fin la adición de canales de e / S entre la CPU y el administrador de dispositivos cuyo propósito principal es establecer un io funcionamiento independiente, por lo que no sólo la transferencia de datos independiente de la CPU, sino que también quiere organizar el dispositivo relevante de e / S / la gestión y el final del proceso sean independientes, que en pocas palabras, es encontrar una cosa es tener un simple tratamiento de datos de capacidad para las tareas de la cuota de CPU, por lo que la CPU dedicado a los avanzados de procesamiento de datos, se le da un procesamiento sencillo de estos datos a esto es algo que lidiar con esta canales O, canales de E / E / S pertenecientes al hardware, pero la capacidad para llevar a cabo instrucciones simples. controlador DMA es un hardware similar, pero sin procesador del controlador DMA dedicado, aunque periféricos DMA y la memoria de la CPU sin realizar un trabajo de intercambio de datos, pero esto sólo se reduce la carga de la CPU. De este modo DMA, la entrada y salida de inicialización todavía a ser realizado por el CPU.

  Los beneficios de la DMA que reducirán interrupción de la CPU para cada búfer de interrupción de cada personaje, por lo que si una gran cantidad de salida de caracteres, puede traer considerables mejoras en el rendimiento. Por otra parte, el controlador DMA es a menudo mucho más lento que el de la CPU, el controlador DMA no es accionado a velocidad completa si el dispositivo de salida o cuando la espera de DMA CPU a menudo no hay otras tareas a realizar, entonces el impulsado de interrupción I / O o programado I / O puede ser mejor . Sin embargo, en la mayoría de los casos, es mejor DMA. Canal tiene su propio conjunto de instrucciones, un coprocesador, se utiliza generalmente en los sistemas informáticos de gran tamaño (no de mainframe). La sustancia es un canal capaz de realizar un número limitado de comandos de entrada y salida, y los dispositivos periféricos puede ser compartida por múltiples procesadores dedicados DMA pequeña. En términos generales, canales DMA también pertenece. En comparación con el canal de DMA:

  Cosa en común: el pase hacia adelante puede lograr el establecimiento de una ruta de datos entre los dispositivos IO y de la memoria;

  diferencias:

  1. Sólo podemos lograr un control de transferencia de datos DMA fija, y el canal tiene sus propias instrucciones y programas con la capacidad independiente para manejar más de entrada y salida de datos.
  2. control de DMA sólo una o unas pocas unidades de dispositivos similares, y un control de canal de múltiples dispositivos similares o diferentes.


Supongo que te gusta

Origin www.cnblogs.com/niuyourou/p/12588407.html
Recomendado
Clasificación