Interrupciones Objetivos Introduccin Funcionamiento Conclusin Ing Jorge A
Interrupciones -Objetivos -Introducción -Funcionamiento -Conclusión Ing. Jorge A. Abraham Técnicas Digitales II 1
Interrupciones - Objetivos -Aprender sobre las respuestas de los procesadores -Aprender sobre la problemáticas de las Interrupciones. -Aprender sobre multiprogramación Ing. Jorge A. Abraham Técnicas Digitales II 2
Interrupciones - Introducción Los Dispositivos (Periféricos) requieren atención del procesador. El procesador puede atender a los dispositivos por Interrogación (Pooling) o por Interrupciones. Las Interrupciones son eventos aleatorios que se reciben por alguna entrada del procesador. Ante una interrupción, el procesador suspende la ejecución del programa principal, ejecuta porciones de programa que atienden al dispositivo y luego continúa con la ejecución del programa principal. Ing. Jorge A. Abraham Técnicas Digitales II 3
Interrupciones - Funcionamiento Periféricos - Eventos catastróficos para el procesador. Ej. : Power Down. Periféricos muy lentos. Muy eventuales. Ej. : Alarma. Periféricos Lentos. Atención lenta. Ej. : Teclado, Impresora. Periféricos Rápidos. Atención Rápida. Ej. : Medios de almacenamiento, comunicaciones de alta velocidad (Gbps). Ing. Jorge A. Abraham Técnicas Digitales II 4
Interrupciones - Funcionamiento Atención del Periférico Interrogación, encuesta o Pooling. En el programa principal se leen los registros o bits de estado de los Periféricos en forma secuencial. Si requieren atención, se ejecuta una porción de programa o subrutina de servicio. Ventaja: Control total del sistema. Desventajas: Ineficiencia del uso del procesador. El periférico es atendido después de ser interrogado y no cuando requiere atención. Ing. Jorge A. Abraham Técnicas Digitales II 5
Interrupciones - Funcionamiento Atención del Periférico Interrupciones. El programa principal se ejecuta sin tener en cuenta a los Periféricos. El periférico que requiere atención genera una interrupción. El procesador suspende momentáneamente la ejecución del programa principal, reconoce la interrupción y ejecuta una subrutina de atención del periférico que interrumpió (Interrupt Handler). Terminada la subrutina, el procesador continúa con la ejecución del programa principal desde donde fue interrumpido. Ing. Jorge A. Abraham Técnicas Digitales II 6
Interrupciones - Funcionamiento Atención del Periférico Interrupciones. Ventajas: a) Uso eficiente del tiempo del Procesador. b) Atiende al Periférico cuando el lo requiere. Prioridades. c) Ejecuta programa principal y rutinas sin pérdidas de tiempo. d) Se ve como si todo fuera simultáneo. Tiempo Real. Desventajas: a) Requiere de hard externo para ingresar las interrupciones. b) Instrucciones adicionales para preservar registros. c) Complejidad en la prueba y puesta en funcionamiento. Ing. Jorge A. Abraham Técnicas Digitales II 7
Interrupciones - Funcionamiento Tipos – Visión desde el Procesador No Enmascarables (No Inhibible). El procesador No puede evitar atenderla. Tiene mayor prioridad que otro tipo de interrupciones. Se usa en eventos tipo catástrofe para el sistema. Enmascarables (Inhibible). El procesador puede No atenderla o “Ignorarla”. Bajo el control del software se activan o se desactivan. Se usan para atención de periféricos en general. Ing. Jorge A. Abraham Técnicas Digitales II 8
Interrupciones - Funcionamiento Respuesta a la Interrupción 1) 2) 3) 4) 5) 6) 7) 8) 9) Terminar de ejecutar la instrucción en curso [procesador] Desactivar el sistema de interrupciones [procesador] Almacenar el CP (dirección de retorno) [procesador] Cargar el CP con la dirección de la subrutina de servicio [procesador] Almacenar el estado de la CPU y los registros a utilizar durante la rutina de servicio [programador] Ejecutar las instrucciones de la rutina de servicio [procesador] Restaurar los registros almacenados y el estado de la CPU [programador]. Instrucción de retorno de interrupción [programador] Activar el sistema de Interrupciones – Restaurar el CP [procesador] Ing. Jorge A. Abraham Técnicas Digitales II 9
Interrupciones - Funcionamiento Respuesta a la Interrupción Prog. Ppal. Int. Per. 1 Dir. Sub. Serv. 1 Ejecución Ejec. Sub. Dir. Prox. Inst. Retorno de INT Ejecución Dir. Sub. Serv. 2 Ejec. Sub. Int. Per. 2 Sub. Per. 1 Dir. Prox. Inst. Sub. Per. 2 Retorno de INT Ejecución Dir. Sub. Serv. 3 Int. Per. 3 Ejec. Sub. Dir. Prox. Inst. Ejecución Ing. Jorge A. Abraham Técnicas Digitales II Sub. Per. 3 Retorno de INT 10
Interrupciones - Funcionamiento Respuesta a la Interrupción Interrupciones Anidadas Prog. Ppal. Int. Per. 1 Dir. Sub. Serv. 1 Ejec. Habilitar INT Ejec. Sub. 1 Sub. Per. 1 Dir. Prox. Inst. Int. Per. 2 Ejec. Sub. 2 Dir. Prox. Inst. Ejec. Dir. Sub. Serv. 2 Sub. Per. 2 Retorno de INT Ejec. Sub. 1 Retorno de INT Ing. Jorge A. Abraham Técnicas Digitales II 11
Interrupciones - Funcionamiento Algunos otros conceptos Tiempo de Respuesta Desde la Interrupción hasta el inicio de ejecución de la rutina de servicio. Tiempo de sobrecarga Duración de la Subrutina de Servicio (Suma de instrucciones). Tiempo Total Suma de ambos tiempos. Desde la interrupción hasta el Retorno a la próxima Instrucción del programa principal. Prioridad de Interrupciones Periféricos mas rápidos o de mayor importancia. Se trabaja sobre el Hard y el Soft. Ing. Jorge A. Abraham Técnicas Digitales II 12
Interrupciones - Funcionamiento La programación Programa Principal Inicio de Variables, periféricos y registros Inicio de componentes de Interrupciones Activación de Interrupciones Instrucciones del programa principal Ing. Jorge A. Abraham Técnicas Digitales II 13
Interrupciones - Funcionamiento La programación Subrutina de Servicio Almacenamiento del estado y registros del Procesador Opción: Activación de Interrupciones Instrucciones necesarias para atender al periférico Restauración de los Registros y del estado del Procesador Retorno de Interrupción Ing. Jorge A. Abraham Técnicas Digitales II 14
Interrupciones Conclusión -Aprendizaje sobre Interrupciones en MP y MC -La eficiencia en la atención de los periféricos -La problemática del uso de Interrupciones. -Tareas del Procesador y tareas del programador -Las rutinas de servicio. Anidamiento. -Comportamiento de diferentes MP y MC (PIC, Simplez +I 4, otros. Ing. Jorge A. Abraham Técnicas Digitales II 15
Interrupciones Bibliografía HOJA TÉCNICA - PIC 17 C 7 X Microchip Technology Inc. HOJA TÉCNICA - M 68 HC 08 Microcontrollers Freescale Semiconductors. Ing. Jorge A. Abraham Técnicas Digitales II 16
- Slides: 16