Difference between revisions of "Real-Time Embedded Systems"
|Line 5:||Line 5:|
It is reasonable to decompose a real-time system into a set of subsystems called clusters e.g., the ''controlled object'' (the ''controlled cluster''), the ''real-time computer system'' (the ''computational cluster'') and the ''human operator'' (the ''operator cluster'').
Revision as of 11:35, 7 January 2022
Real-Time Embedded Systems
A real-time computer system is a computer system in which the correctness of the system behavior depends not only on the logical results of the computations, but also on the physical instant at which these results are produced. In fact, a real-time system changes its state as a function of physical time.
It is reasonable to decompose a real-time system into a set of subsystems called clusters e.g., the controlled object (the controlled cluster), the real-time computer system (the computational cluster) and the human operator (the operator cluster).
A real-time computer system must react to stimuli from the controlled object (or the operator) within time intervals dictated by its environment. The instant at which a result must be produced is called a deadline. If a result has utility even after the deadline has passed, the deadline is classified as a soft deadline, otherwise it is a firm deadline. When missing a firm deadline results in a system failure (e.g. airplane sensor and autopilot systems, spacecrafts and planetary rovers), the deadline is called hard deadline.
Hence, in real-time systems guarantees must be given on the finishing of computations before a deadline, which affects the design of hardware (processors, caches, interconnects, peripherals, interrupts, ...) and software stack (operating system, scheduling, compiler guarantees). Key concepts are spatial and temporal isolation of components, and architecture's predictability .
 Kopetz H., Real-Time Systems, 1996
 Rochange C., Time-Predictable Architectures, 2013
What we offer
Our work leverage both hardware and software interfaces:
- Hardware design - features addition and enhancement: adding new instructions to cores, specializing interconnects, making cores predictable ...
- Software design: modifying operating systems (Linux kernel, RTOS such as FreeRTOS, ...), drivers, tasks scheduling.
- CLIC for the CVA6
- Fast Accelerator Context Switch for PULP
- SCMI Support for Power Controller Subsystem
- Non-blocking Algorithms in Real-Time Operating Systems