Interrupciones Explicadas: Tipos, Mecanismos y Aplicaciones en Computación Moderna
Las PCs modernas dependen de peticiones de interrupción para coordinar funciones de hardware. El concepto data del UNIVAC 1103 en 1953, con el IBM 650 introduciendo enmascaramiento de interrupciones en 1954. Asignar líneas IRQ distintas a dispositivos individuales es esencial para operación eficiente. Cuando periféricos como teclados o ratones necesitan atención de CPU, generan interrupciones que disparan la correspondiente Rutina de Servicio de Interrupción (ISR). Las ISR son indispensables para tareas tiempo-sensibles, transferencias de datos, manejo de errores, timers watchdog y trampas.
¿Qué es una Interrupción?
Definición: Una interrupción es una señal de entrada que demanda atención inmediata del procesador, teniendo la prioridad más alta entre eventos hardware y software. En computación temprana, procesadores tenían que sondear cada periférico y programa por señales, desperdiciando ciclos de reloj y degradando rendimiento. El mecanismo de interrupción invirtió este modelo: un periférico o módulo software señala a la CPU, que suspende su tarea actual, guarda su estado y ejecuta la ISR apropiada. Tras completar la ISR, la CPU restaura su estado previo y continúa ejecución.
Tipos de Interrupción
Las interrupciones se clasifican ampliamente en dos categorías.
Interrupciones Hardware
Son señales electrónicas enviadas de dispositivos externos a la CPU, indicando que requieren servicio inmediato. Pulsaciones de teclado, movimientos de ratón y alertas de sensores son ejemplos típicos. Las interrupciones hardware son asíncronas, llegando en cualquier punto durante ejecución de instrucción.
Las interrupciones hardware se subdividen:
- Interrupciones Enmascarables – El registro de máscara de interrupción del procesador controla si una fuente de interrupción particular está habilitada o deshabilitada. Cada bit en el registro corresponde a una línea IRQ específica; bit puesto permite servicio de interrupción, mientras bit limpio la bloquea.
- Interrupciones No Enmascarables (NMI) – Las NMI tienen prioridad más alta y no pueden deshabilitarse por el procesador. Típicamente se usan para eventos críticos como expiraciones de timer watchdog o fallos hardware.
Interrupciones Software
La CPU misma puede generar una interrupción ejecutando instrucción especial o cuando surge condición excepcional durante ejecución de programa. Las interrupciones software habilitan llamadas de sistema, manejo de excepciones y rutinas de trampa.
Métodos de Disparo
Las líneas de interrupción pueden dispararse por nivel lógico o flanco de señal. Estos dos enfoques difieren en cómo la fuente señala a la CPU.
Interrupción Disparada por Nivel
En este modo, la línea de interrupción permanece afirmada mientras la fuente requiera servicio. Si la fuente permanece activa mientras la ISR corre, la CPU re-invoca el handler tras completarse. Entradas disparadas por nivel pueden ser problemáticas si la señal permanece afirmada período extendido.
Interrupción Disparada por Flanco
Una interrupción disparada por flanco dispara inmediatamente cuando la señal transiciona de bajo a alto o alto a bajo. La CPU no depende del nivel de la señal, solo de la transición, haciendo este modo adecuado para eventos rápidos de un solo disparo.
Implementación del Sistema
Las interrupciones se cablean en hardware como líneas de control dedicadas o embebidas dentro de subsistemas de memoria. Cuando se implementan vía Controlador de Interrupciones Programable (PIC), múltiples fuentes comparten un solo pin de CPU, simplificando cableado y permitiendo arbitraje de prioridad.
Peticiones de Interrupción Compartidas (IRQs)
Con interrupciones disparadas por flanco, una resistencia pull-up o pull-down mantiene la línea en estado conocido. El pulso de cada dispositivo propaga junto a la línea compartida, y la CPU muestrea la línea en el flanco descendente para asegurar que no se pierde pulso. Placas ISA antiguas dependían de IRQs compartidas, que podían causar contención; arquitecturas PCI modernas mitigan esto mediante controladores dedicados y asignación dinámica.
Híbrido
Sistemas híbridos combinan disparo por flanco con verificación de nivel, asegurando que señal activa no sea ignorada. Este enfoque es común para entradas no enmascarables, reduciendo falsos positivos.
Interrupción Señalizada por Mensaje
En lugar de línea dedicada, el dispositivo envía mensaje por bus como PCI Express para notificar a la CPU. Esto elimina pines físicos y soporta mayor throughput.
Doorbell
Una interrupción doorbell es señal impulsada por software donde el dispositivo escribe datos en región de memoria compartida y luego dispara la interrupción, permitiendo a la CPU procesar los datos listos.
IPI Multiprocesador
En sistemas multi-núcleo, un procesador puede enviar interrupción inter-procesador (IPI) a otro, coordinando tareas o señalando eventos across núcleos.
Usos/Aplicaciones Típicos
- Manejo de timers hardware y procesamiento entrada teclado/ratón.
- Respuesta a eventos tiempo-sensibles o tiempo real.
- Gestión de transferencia datos hacia/desde dispositivos periféricos.
- Manejo de señales alta prioridad como peticiones apagado, trampas y timers watchdog.
- Reporte de eventos anómalos CPU.
- Facilitar apagado ordenado cuando se pierde alimentación externa.
- Generar interrupciones periódicas para cronometraje absoluto.
Preguntas Frecuentes
1. ¿Por qué se usan interrupciones?
Las interrupciones llevan foco de CPU a tareas hardware o software urgentes, permitiendo respuestas oportunas sin sondeo constante.
2. ¿Qué es NMI?
NMI significa Interrupción No Enmascarable, señal que no puede deshabilitarse por el procesador y se reserva para eventos críticos.
3. ¿Cuál es la función de la línea de reconocimiento de interrupción?
Señala al dispositivo que la CPU está lista para recibir interrupción, permitiendo al dispositivo colocar dirección ISR en el bus.
4. Describe una interrupción hardware. Da ejemplos.
Interrupciones hardware son generadas por dispositivos externos —pulsaciones teclado, clics ratón, salidas sensores— que requieren servicio inmediato CPU.
5. Describe una interrupción software.
Interrupciones software son invocadas por el procesador mediante instrucciones especiales, como llamadas de sistema o rutinas de manejo de excepciones.
6. ¿Qué interrupción tiene la prioridad más alta?
- Interrupciones no enmascarables (NMI) y trampas tienen la prioridad más alta.
7. Da algunos usos de interrupciones.
- Respuesta rápida a eventos tiempo real.
- Transferencia datos con dispositivos periféricos.
- Manejo tareas críticas como apagado y timers watchdog.
- Reporte eventos anómalos CPU.
8. ¿Qué es tipo híbrido de implementación de sistema?
Un sistema híbrido usa tanto disparo por flanco como verificación de nivel, asegurando que eventos genuinos se capturen mientras reducen disparos espurios.
Este artículo explora la significancia de interrupciones, detallando sus tipos, integración de sistema y aplicaciones prácticas.
Incrustado
- Técnicas de Soldadura por Gas y sus Aplicaciones Industriales
- Impresión 3D: tipos, procesos y funcionamiento explicados
- Cómo Funcionan los Sensores de Distancia y sus Aplicaciones Clave
- Sensor ECG AD8232: Funcionalidad y Aplicaciones
- Sensor Ultrasónico HC-SR04: Funcionamiento y Aplicaciones Clave
- Sensores de Voltaje: Funcionamiento y Aplicaciones Clave en Sistemas de Potencia Modernos
- Sensor Lambda (Oxígeno): Función, Operación y Aplicaciones Automotrices Clave
- Sensores de Imagen: Tipos, Operación y Aplicaciones Prácticas
- Alambres de titanio: Tipos, propiedades y aplicaciones industriales
- 13 tipos de materiales refractarios y sus aplicaciones industriales clave
- Óxido de hafnio (HfO₂): estructura, propiedades y aplicaciones clave