UPV / EHU
MOISE
Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 1
Introducción al tiempo real en sistemas
empotrados
Departamento de Arquitectura y Tecnología de Computadores
Universidad del País Vasco / Euskal Herriko Unibertsitatea
Master en Ingeniería de Sistemas Empotrados
UPV / EHU
MOISE
Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 2
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
UPV / EHU
MOISE
Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 3
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.
UPV / EHU
MOISE
Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 4
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.
UPV / EHU
MOISE
Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 5
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.
UPV / EHU
MOISE
Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 6
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:1. Interrupciones no enmascarables2. Excepciones3. Interrupciones enmascarables
UPV / EHU
MOISE
Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 7
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.
UPV / EHU
MOISE
Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 8
PICEjemplo
PIC CPU
Sensor del airbag
Reloj
Sensor de temperatura
Sensor de frenada
VI
Interrupción
+
PRIORIDAD
-
UPV / EHU
MOISE
Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 9
PICIntel 8259
UPV / EHU
MOISE
Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 10
• 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.
Manejadores de interrupciones
UPV / EHU
MOISE
Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 11
Manejadores de interrupcionesEsquema de direccionamiento de la ISR
PIC
Memoria
Interrupción externa
ISRi
ISRn
ISR1
Tabla de VIs
CPU
Excepción
@VI
UPV / EHU
MOISE
Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 12
• ¿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).
Manejadores de interrupciones
UPV / EHU
MOISE
Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 13
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.
UPV / EHU
MOISE
Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 14
1. Se está ejecutando una tarea.
2. Se produce una interrupción de prioridad baja.
Estado del procesador
3. Se salva el estado de procesador.
5. Se produce una interrupción de prioridad alta.
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.
4. Se ejecuta la rutina de servicio ISRL.
Estado del procesador
CPU
SPPila
6. Se salva el estado de procesador.
Mecanismo de ejecución. Ejemplo