140 likes | 300 Views
Master en Ingeniería de Sistemas Empotrados. Introducción al tiempo real en sistemas empotrados. Departamento de Arquitectura y Tecnología de Computadores Universidad del País Vasco / Euskal Herriko Unibertsitatea. Contenido. Introducción Soporte de interrupciones
E N D
Master en Ingeniería de Sistemas Empotrados Introducción al tiempo real en sistemas empotrados Departamento de Arquitectura y Tecnología de Computadores Universidad del País Vasco / Euskal Herriko Unibertsitatea Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores
Contenido • Introducción • Soporte de interrupciones • Conceptos de sistemas operativos • Planificación en sistemas de tiempo real • Mecanismos de sincronización y comunicación • Planificación de tiempo real con recursos compartidos Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores
Soporte de interrupciones CONTENIDO • Introducción • Interrupciones y excepciones • Controladores de interrupciones • Manejadores de interrupciones • Mecanismo de ejecución de interrupciones y excepciones BIBLIOGRAFIA • Q. Li: Real-Time concepts for embedded systems. CMP Books, 2003. Capítulo 10. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores
Introducción • El hardware del sistema está compuesto de sensores, actuadores y recursos de cómputo (procesador, memoria). • Interfaz hardware para el programador: • Instrucciones del lenguaje máquina • Espacio de direcciones de memoria • Espacio de direcciones de entrada/salida • Vectores de interrupciones • … • Un sistema operativo (o componentes del SO), que se instala sobre esta interfaz permite compartir y gestionar el hardware de forma más sencilla. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores
Interrupciones y excepciones • Excepción: Evento que, producido durante la ejecución de un programa, provoca que el procesador ejecute un código especial para tratarla. • También llamadas interrupciones internas. • Interrupción: Condición asíncrona provocada por un dispositivo externo. • También llamadas excepciones asíncronas. • Se tratan de la misma forma que las excepciones. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores
Interrupciones y excepcionesTipos • Combinatoria de tipos: • Interrupciones (asíncronas) no enmascarables • Interrupciones (asíncronas) enmascarables • Excepciones (síncronas) precisas • Excepciones (síncronas) imprecisas • Orden de prioridad: • Interrupciones no enmascarables • Excepciones • Interrupciones enmascarables Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores
Controladores de interrupciones • En un sistema (empotrado) puede haber diferentes fuentes de interrupción: • Sensores • Reloj • Dispositivos de E/S • Las interrupciones pueden tener diferentes prioridades. • Al procesador del sistema le llega una única línea de interrupción. • Controlador Programable de Interrupciones (PIC): • Prioriza y selecciona las interrupciones. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores
PICEjemplo Sensor del airbag PIC + PRIORIDAD - Sensor de frenada CPU Interrupción VI Sensor de temperatura Reloj Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores
PICIntel 8259 Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores
Manejadores de interrupciones • En la CPU, las interrupciones pueden • Inhibirse (todas ellas) • Enmascararse (selectivamente), excepto las NMI (mediante instrucciones privilegiadas) • Tanto interrupciones como excepciones generan una dirección de entrada a una tabla que contiene las direcciones de comienzo de las Rutinas de Servicio (ISR). • Atención a la terminología: a esta dirección también se le suele llamar vector de interrupción. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores
Tabla de VIs Manejadores de interrupcionesEsquema de direccionamiento de la ISR Memoria ISRi ISR1 Interrupción externa CPU ISRn Excepción PIC @ VI Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores
Manejadores de interrupciones • ¿Por qué direccionar indirectamente las ISR? • El sistema operativo utilizará el VI para instalar el código de las llamadas al sistema. • Los sistemas operativos permiten instalar código en modo normal accesible desde la ISR (mecanismo de señales de UNIX). Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores
Mecanismo de ejecución • La interrupción/excepción requiere su propio contexto de ejecución (pila). • Debe guardarse el contexto del programa que se está ejecutando para recuperarlo tras la ejecución. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores
SP CPU Pila Mecanismo de ejecución. Ejemplo • Se está ejecutando una tarea. • Se produce una interrupción de prioridad baja. • Se salva el estado de procesador. Estado del procesador • Se ejecuta la rutina de servicio ISRL. Estado del procesador • Se produce una interrupción de prioridad alta. 6. Se salva el estado de procesador. 7. Se ejecuta la rutina de servicio ISRH. 8. Termina ISRH. Se vuelve a ISRL. 9. Termina ISRL. Se vuelve al punto de ejecución de la tarea. Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores