En el que computa, una interrupción es una señal asincrónica del hardware que indica la necesidad de la atención o un acontecimiento síncrono en el software que indica la necesidad de un cambio en la ejecución. Una interrupción de hardware del hace a procesador ahorrar su estado de la ejecución vía un interruptor del contexto, y comienza la ejecución de un tratante de interrupción . Las interrupciones de software del se ejecutan generalmente como instrucciones en el sistema de instrucción, que causan un interruptor del contexto a un tratante de interrupción similar a una interrupción de hardware. Las interrupciones son una técnica de uso general para los trabajos m3ultiple de la computadora, especialmente en la computación en tiempo real. Tal sistema reputa interrupt-driven.
Un acto del que interrumpe se refiere como petición de interrupción (" IRQ").
Las interrupciones se pueden ejecutar en hardware como sistema distinto con las líneas de control, o pueden ser integradas en el subsistema de la memoria.
Si está ejecutado en hardware, un circuito del regulador de interrupción tal como el regulador de interrupción programable de la PC de IBM (PIC) se puede conectar entre el dispositivo de interrupción y con el perno de la interrupción del procesador para multiplexar varias fuentes de interrupción sobre las uno o dos líneas de la CPU típicamente disponibles.
Si están ejecutadas como parte del regulador de la memoria, las interrupciones se trazan en el espacio de dirección de memoria de sistema. ¡ el
Subscript text del de la memoria trazó el trabajo de las interrupciones. PowerPC --> Las interrupciones se pueden categorizar en: Interrupción de Maskable ( IRQ ), interrupción Non-maskable (NMI), interrupción (IPI) de Interprocessor, interrupción de software, e interrupción falsa.
La interrupción de Maskable
A (IRQ) es una interrupción de hardware que puede ser no hecha caso fijando un pedacito en un bit-mask del registro de máscara (IMR) de interrupción.
además, una interrupción Non-maskable (NMI) es una interrupción de hardware que no tiene un bit-mask asociado a ella - significado que puede nunca ser no hecho caso. NMIs es de uso frecuente para los contadores de tiempo, especialmente relojes de vigilancia
una interrupción de Interprocessor es un caso especial de la interrupción que es generada por un procesador para interrumpir otro procesador en un sistema de multiprocesador.
La interrupción de software del
A es una interrupción generada dentro de un procesador ejecutando una instrucción. Las interrupciones de software son de uso frecuente ejecutar las llamadas de sistema porque ejecutan una llamada de subrutina con un cambio del nivel del anillo de la CPU.
La interrupción falsa del
A es una interrupción de hardware que es indeseada. Son generados típicamente por condiciones de sistema tales como interferencia eléctrica en una línea de la interrupción o a través del hardware incorrectamente diseñado.
Los procesadores tienen típicamente una máscara interna de la interrupción del que permita que el software no haga caso de todas las interrupciones de hardware externas mientras que se fija. Esta máscara puede ofrecer las interrupciones en el dispositivo sí mismo de un acceso más rápido que (IMR) teniendo acceso a un registro de máscara de interrupción en un PIC, o de la incapacidad. En algunos casos, por ejemplo la arquitectura X86, inhabilitando y permitiendo interrupciones en el procesador sí mismo actúa como barrera de la memoria, en este caso puede realmente ser más lenta.
Una interrupción que deja la máquina en un estado bien definido se llama una interrupción exacta . Tal interrupción tiene cuatro características:
el contador de programa (PC) se ahorra en un lugar conocido.
todas las instrucciones antes de que la que está señalada por a la PC haya ejecutado completamente.
Se ha ejecutado el
ninguna instrucción más allá de la que está señalada por a la PC (que no es ninguna prohibición en la instrucción más allá de eso en PC, es apenas que cuaesquiera cambios que realicen a los registros o la memoria debe ser deshecha antes de que suceda la interrupción).
Una interrupción que no cumple estos requisitos se llama una interrupción imprecisa .
El fenómeno donde el funcionamiento de sistema total es obstaculizado seriamente por las cantidades excesivas de tiempo de transformación pasadas manejando interrupciones se llama una tormenta de la interrupción.
Típicamente, el procesador muestrea la entrada de la interrupción en las horas predefinidas durante cada ciclo del autobús tal como T2 del estado para el microprocesador Z80 . Si la interrupción no es activa cuando el procesador la muestrea, la CPU no la ve. Un uso posible para este tipo de interrupción es reducir al mínimo señales falsas de una línea ruidosa de la interrupción: un pulso falso será a menudo tan corto que no está notado.
Los dispositivos múltiples pueden compartir una línea nivel-accionada de la interrupción si se diseñan a. La línea de la interrupción debe tener un resistor pull-down o pull-up de modo que cuando no activamente le está conducido coloca a su estado inactivo. Los dispositivos afirman activamente la línea para indicar una interrupción excepcional, pero dejan la línea flotar (no conducirla activamente) al no señalar una interrupción. La línea está entonces en su estado afirmado cuando cualesquiera (uno o más que uno) de los dispositivos de distribución están señalando una interrupción excepcional.
Esta clase de interrupciones es favorecida por alguno debido a un comportamiento conveniente cuando se comparte la línea. Sobre la detección de la aserción de la línea de la interrupción, la CPU debe buscar a través de los dispositivos que la comparten hasta que se detecte un servicio que requiere. Después de mantener este dispositivo, la CPU puede volver a inspeccionar la línea estado de la interrupción para determinar si algunos otros dispositivos también necesitan servicio. Si la línea ahora desserted, la CPU evita comprobar los dispositivos restantes en la línea. Puesto que algunos dispositivos interrumpen más con frecuencia que otros, y otras interrupciones del dispositivo son particularmente costosas, el ordenar cuidadosa de los cheques del dispositivo se emplea para aumentar eficacia.
Hay también problemas graves con la distribución de interrupciones nivel-accionadas. Mientras cualquier dispositivo en la línea tenga un pedido excepcional el servicio la línea restos afirmó, así que no es posible detectar un cambio en el estado de ninguÌn otro dispositivo. El diferir manteniendo un dispositivo low-priority no es una opción, porque éste prevendría la detección de peticiones del servicio de los dispositivos de la alto-prioridad. Si hay un dispositivo en la línea que la CPU no sabe mantener, después ninguna interrupción de ese dispositivo permanentemente bloquea todas las interrupciones de los otros dispositivos.
El estándar original del PCI asignó interrupciones por mandato nivel-accionadas compartibles. El análisis razonado para esto era el aumento de la eficacia discutido arriba. (Más nuevas versiones del PCI permiten, y el PCI Express requiere, el uso mensaje-señaló interrupciones de .)
Los dispositivos múltiples pueden compartir una línea edge-triggered de la interrupción si se diseñan a. La línea de la interrupción debe tener un resistor pull-down o pull-up de modo que cuando no activamente le está conducido coloca a un estado particular. Los dispositivos señalan una interrupción breve conduciendo la línea a su estado non-default, y dejan la línea flotar (no conducirla activamente) al no señalar una interrupción. Este tipo de conexión también se refiere como el colector abierto . La línea entonces lleva todos los pulsos generados por todos los dispositivos. Sin embargo, los pulsos de la interrupción de diversos dispositivos pueden combinarse si ocurren cerca a tiempo. Para evitar perder interrupciones que la CPU debe accionar en el borde de fuga/posterior del pulso (e., el borde de levantamiento si se levanta la línea y punto bajo conducido). Después de detectar una interrupción la CPU debe comprobar todos los dispositivos para saber si hay requisitos del servicio.
Las interrupciones Edge-triggered no sufren los problemas que nivel-accionaron interrupciones tienen con la distribución. El servicio de un dispositivo low-priority se puede posponer arbitrariamente, y las interrupciones continuarán siendo recibidas de los dispositivos prioritarios se están manteniendo que. Si hay un dispositivo que la CPU no sabe mantener, puede causar una interrupción falsa, o aún las interrupciones falsas periódicas, sino ella no interfiere con la señalización de la interrupción de los otros dispositivos. Sin embargo, es bastante fácil que una interrupción accionada borde sea faltada - por ejemplo si las interrupciones tienen que ser enmascaradas por un período - y a menos que haya un cierto tipo de cierre del hardware que registre el acontecimiento él es imposible de recuperarse. Tales problemas causaron a muchos el " lockups" en hardware temprano porque el procesador no sabía se esperaba que hiciera algo. Un hardware más moderno tiene a menudo uno o más registros de estado de interrupción que traben las peticiones de interrupción; el software borde-conducido bien escrito de la interrupción comprueba a menudo tales registros para asegurarse que los acontecimientos no están faltados.
El autobús mayor AIA utiliza interrupciones edge-triggered, pero no asigna que por mandato los dispositivos puedan compartirlas. El puerto paralelo también utiliza interrupciones edge-triggered. Muchos más viejos dispositivos asumen que tienen uso exclusivo de su línea de la interrupción, haciéndolo eléctricamente inseguro para compartirlos. Sin embargo, las placas madres del AIA incluyen los resistores pull-up en las líneas de IRQ, así que la parte well-behaved AIA de los dispositivos interrumpe apenas muy bien.
Un de uso común de una interrupción híbrida está para el NMI (interrupción non-maskable) entrado. Porque de NMIs el comandante de la señal generalmente - o aún catastrófico - los acontecimientos de sistema, una buena puesta en práctica de esta señal intenta asegurarse de que la interrupción es válida verificando que sigue siendo activa por un periodo de tiempo. Ayudas de este 2 acercamiento del paso para eliminar interrupciones falsas de afectar al sistema.
las interrupciones Mensaje-señaladas se comportan mucho como interrupciones edge-triggered, en que la interrupción es una señal momentánea algo que una condición continua. la Interrumpir-dirección de software trata los dos en mucho la misma manera. Típicamente, múltiple hasta que finalicen interrupciones mensaje-señaladas con el mismo mensaje (la misma línea virtual de la interrupción) se permiten combinarse, apenas pues las interrupciones edge-triggered closely-spaced pueden combinarse.
los vectores de interrupción Mensaje-señalados pueden ser compartidos, hasta el punto de el medio de comunicación subyacente pueda ser compartido. No se requiere ninguÌn esfuerzo adicional.
Porque la identidad de la interrupción es indicada por un patrón de los bits de datos, no requiriendo un conductor físico separado, muchas más interrupciones distintas pueden ser manejadas eficientemente. Esto reduce la necesidad de la compartir. Los mensajes de la interrupción se pueden también pasar sobre un autobús serial, no requiriendo ningunas líneas adicionales.
El PCI Express, un autobús de la computadora serial, aplicaciones mensaje-señaló interrupciones exclusivamente.
Algunos dispositivos con un interfaz de programación malo-diseñado no proporcionan ninguna manera de determinar si han pedido servicio. Pueden trabarse para arriba o comportarse mal de otra manera si están mantenidos cuando no lo quieren. Tales dispositivos no pueden tolerar interrupciones falsas, y tan también no pueden tolerar la distribución de una línea de la interrupción. Las tarjetas AIA, debido al diseño y a la construcción a menudo baratos, son notorias para este problema. Tales dispositivos están llegando a ser mucho más raros, mientras que la lógica del hardware llega a ser más barata y las nuevas arquitecturas de sistema asignan interrupciones por mandato compartibles.
Una interrupción de contador de tiempo clásica del sistema interrumpe periódico de un contador o de la línea eléctrica. El tratante de interrupción cuenta las interrupciones para guardar tiempo. La interrupción de contador de tiempo se puede también utilizar por el planificador de tarea del OS para cambiar la hora de las prioridades de los procesos corrientes que los contadores de son populares, pero algunas computadoras más viejas utilizaron la frecuencia de la línea eléctrica en lugar de otro, porque las empresas eléctricas en la mayoría de los países occidentales controlan la frecuencia de la línea eléctrica con un reloj atómico muy exacto.
Una interrupción del disco señala la terminación de una transferencia de datos o al periférico del disco. El esperar de proceso para leer o para escribir un archivo empieza para arriba otra vez.
Una interrupción de la energía-apagado predice o pide una pérdida de energía. Permite que el material informático realice una parada ordenada.
Las interrupciones también se utilizan en las características del Typeahead para los acontecimientos del buffering como golpes de teclado.
.
| Random links: | Jóvenes de Roberto W. | Kuch Kuch Hota Hai | Bailarina de Prima | Laura Anne Jones | acorazado de la clase del almirante |