Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2 STR
2 STR
TEMA:
“CAPÍTULO 2: HARDWARE PARA SISTEMAS EN TIEMPO REAL
Y CONCEPTOS”
Subtitle
DOCENTE:
Ing. CIP Daniel Leonardo Barrera Esparta
MEng. Roberto Sumiyoshi Furukawa Fukuda
I.- SISTEMAS EMBEBIDOS
• Equipo informático especial integrado para realizar unas funciones muy específicas en un
sistema electrónico mayor
• El diseño del sistema está optimizado para reducir su tamaño y su costo, aumentar su
confiabilidad y mejorar su desempeño.
I.- SISTEMAS EMBEBIDOS
I.- SISTEMAS EMBEBIDOS
¿Dónde se utilizan?
•Sistemas que corresponde a sistemas autónomos que funcionan por si solos, capaces de
realizar varias funciones a la vez.
•Sistemas que son parte de sistemas mayores, los cuales cumplen una funcionalidad
específica del sistema mayor.
I.- SISTEMAS EMBEBIDOS
•Se refiere a los equipos electrónicos que incluyen un procesamiento de datos, pero que, a
diferencia de una computadora personal, están diseñados para satisfacer una función
específica.
•A veces se usan SBC (single board computer) para hacer más fácil el desarrollo electrónico.
I.- SISTEMAS EMBEBIDOS
•Se puede hacer lo mismo con una FPGA y se le dice PSoC = Programmable System on a
Chip
Para mejor performance, algunas FPGA traen (fijo) un procesador
•La integración normalmente se hace mediante:
Un lenguaje de descripción de hardware (ej. VHDL, Verilog) o una herramienta gráfica
•Un core puede ser un procesador
I.- SISTEMAS EMBEBIDOS
I.- SISTEMAS EMBEBIDOS
Introducción
• El objetivo en un principio era sustituir y mejorar los reguladores analógicos, pero este
objetivo se fue ampliando dada las capacidades de los computadores en realizar un
control integral de las plantas de fabricación, englobando también la gestión de la
producción.
II.- CONTROL EN TIEMPO REAL
Introducción
Los requisitos del control de tiempo real se manifiestan en una de sus características
principales: las restricciones temporales a que esta sometido. Para tareas periódicas de
control, vienen impuestas por el período de muestreo con que se debe ejecutar el
algoritmo de control. Para otro tipo de tareas periódicas como pueden ser tareas de
tratamiento de datos, tareas gráficas o de supervisión, tareas de comunicación los
restricciones temporales no son tan estrictas y muchas veces el diseñador de las
aplicaciones dispone de un margen donde elegir.
II.- CONTROL EN TIEMPO REAL
Introducción
También pueden existir tareas de control que se ejecuten con períodos grandes como en las
aplicaciones de control de variables lentas como la temperatura, existiendo algunas otras
tareas con períodos de ejecución menor. Pero la tarea de control es la más crítica dado que
es la que actúa de interface con el proceso y debe garantizar su correcto funcionamiento.
II.- CONTROL EN TIEMPO REAL
Equipos Industriales
Equipos Industriales
Computadoras Industriales
-Choque y vibraciones: Las protecciones contra vibraciones mecánicas se hace por medio
de abrazaderas de acero amortiguadas que son esenciales para estabilizar las tarjetas.
-Los sistemas de potencia de los PC industriales son diseñados para suministrar voltajes DC
estables bajo las peores condiciones de suministro de AC con una alta fiabilidad (MTBF
(Mean Time Between Failure)=50000 horas).
-Humedad: En algunas aplicaciones industriales los niveles de humedad pueden llegar a ser
altos, por ejemplo en las prensas de pulpa de la industria papelera se registran valores del
95%. Los PC comerciales pueden trabajar sólo hasta niveles de humedad del 80%.
II.- CONTROL EN TIEMPO REAL
Características que distinguen los PC industriales de los PC comerciales
Diversas empresas especializadas han desarrollado RTOS ( Real Time Operating Systems)
que posibilitan el desarrollo de los procesos de control y, además, ejecutar otras
aplicaciones como las de desarrollo y gestión, a través de su interfaz gráfica de usuario
II.- CONTROL EN TIEMPO REAL
Computadores Industriales Embebidos
La computadora virtual da la ilusión que cada proceso esta ejecutándose sobre una CPU
dedicada con una memoria dedicada
- Planificador (Scheduler)
- Recursos que llegan a estar
disponibles
III.- PROCESOS,HILOS Y CONCURRENCIA
Estados de un proceso
III.- PROCESOS,HILOS Y CONCURRENCIA
Bloque de control de procesos
• El SO mantiene una tabla de proceso con información de cada proceso, llamado Process
Control Block (PCB)
• Almacena:
• ID del Proceso, ID Usuario, ID Grupo
• Estado actual del proceso (Running, Ready, Blocked)
• Directorio de trabajo
• Contexto de Hardware: copia los Registros (Contador Programa, Stack pointer, etc)
• Puntero a segmentos de memoria asignada (Stack, Data, Text)
• Parámetros de Prioridad/Planificación
• Tabla de archivos Abiertos
• Registro de los recursos asignados
III.- PROCESOS,HILOS Y CONCURRENCIA
Sistemas concurrentes
En todos los casos hay que multiplexar el uso del procesador o procesadores entre los
procesos.
III.- PROCESOS,HILOS Y CONCURRENCIA
Procesos y contexto
• El CPU tiene una estructura que contiene información referente a la situación del
programa en ejecución (registro de instrucción, contador de programa, registros
generales, etc.)
• El cambio de contexto es
overhead; el sistema no
realiza cómputo útil
durante el cambio.
• El tiempo de realización
del cambio de contexto es
dependiente del soporte
de hardware.
III.- PROCESOS,HILOS Y CONCURRENCIA
Ejecución concurrente
• Los procesos concurrentes se ejecutan con ayuda de un núcleo de ejecución ( Run- Time
Kernel ) que es el planificador (scheduler) en un sistema operativo
• El núcleo se encarga de la creación, terminación y el multiplexado de los procesos.
• El núcleo puede tomar varias formas:
• Núcleo desarrollado como parte de la aplicación
• Núcleo incluido en el entorno de ejecución del lenguaje
• Núcleo de un sistema operativo de tiempo real
• Núcleo microprogramado dentro del procesador para mayor eficiencia.
III.- PROCESOS,HILOS Y CONCURRENCIA
Ejecución concurrente
La concurrencia puede estar soportada por el lenguaje de programación o sólo por el sistema
operativo.
III.- PROCESOS,HILOS Y CONCURRENCIA
Lenguajes concurrentes
Mas portátiles
- Estructura - Nivel
- Granularidad - Inicialización
- Terminación - Representación
III.- PROCESOS,HILOS Y CONCURRENCIA
Lenguajes concurrentes
Estructura
• Cooperar para un fin común: regularmente se comunican y sincronizan sus actividades para
realizar alguna operación común.
• Competir por el uso de recursos: se comunican y sincronizan con el fin de obtener los
recursos compartidos
III.- PROCESOS,HILOS Y CONCURRENCIA
Comunicación y sincronización
Hay veces en las que los procesos cooperan para un fin común o compiten por la utilización de
recursos.
La forma más sencilla de comunicación entre dos procesos o más procesos consiste en la
compartición de variables comunes.
III.- PROCESOS,HILOS Y CONCURRENCIA
Comunicación y sincronización
– Hace que el resultado de la ejecución dependa del orden en que se intercalan las
instrucciones de dos o más procesos: condición de carrera (race condition).
– Es una situación anómala que hay que evitar
Comunicación y sincronización
El resultado final puede ser 1 ó 2: Depende de las velocidades relativas de los procesos Para
evitar condiciones de carrera hay que asegurar que las operaciones con variables comunes se
ejecutan de forma atómica (indivisible)