Introducción al tiempo real en sistemas empotrados

14
UPV / EHU MOISE Konputagailuen Arkitektura eta Teknologia Saila Departamento 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

description

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 - PowerPoint PPT Presentation

Transcript of Introducción al tiempo real en sistemas empotrados

Page 1: Introducción al tiempo real en sistemas empotrados

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

Page 2: Introducción al tiempo real en 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

Page 3: Introducción al tiempo real en sistemas empotrados

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.

Page 4: Introducción al tiempo real en sistemas empotrados

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.

Page 5: Introducción al tiempo real en sistemas empotrados

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.

Page 6: Introducción al tiempo real en sistemas empotrados

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

Page 7: Introducción al tiempo real en sistemas empotrados

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.

Page 8: Introducción al tiempo real en sistemas empotrados

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

-

Page 9: Introducción al tiempo real en sistemas empotrados

UPV / EHU

MOISE

Konputagailuen Arkitektura eta Teknologia SailaDepartamento de Arquitectura y Tecnología de Computadores 9

PICIntel 8259

Page 10: Introducción al tiempo real en sistemas empotrados

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

Page 11: Introducción al tiempo real en sistemas empotrados

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

Page 12: Introducción al tiempo real en sistemas empotrados

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

Page 13: Introducción al tiempo real en sistemas empotrados

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.

Page 14: Introducción al tiempo real en sistemas empotrados

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