Abstract

In the context of real-time control systems, it has become possible to obtain temporal resolutions of microseconds due to the development of embedded systems and the Internet of Things (IoT), the optimization of the use of processor hardware, and the improvement of architectures and real-time operating systems (RTOSs). All of these factors, together with current technological developments, have led to efficient central processing unit (CPU) time usage, guaranteeing both the predictability of thread execution and the satisfaction of the timing constraints required by real-time systems (RTSs). This is mainly due to time sharing in embedded RTSs and the pseudo-parallel execution of tasks in single-processor and multi-processor systems. The non-deterministic behavior triggered by asynchronous external interrupts and events in general is due to the fact that, for most commercial RTOSs, the execution of the same instruction ends in a variable number of cycles, primarily due to hazards. The software implementation of RTOS-specific mechanisms may lead to significant delays that can affect deadline requirements for some RTSs. The main objective of this paper was the design and deployment of innovative solutions to improve the performance of RTOSs by implementing their functions in hardware. The obtained architectures are intended to provide feasible scheduling, even if the total CPU utilization is close to the maximum limit. The contributions made by the authors will be followed by the validation of a high-performing microarchitecture, which is expected to allow a thread context switching time and event response time of only one clock cycle each. The main purpose of the research presented in this paper is to improve these factors of RTSs, as well as the implementation of the hardware structure used for the static and dynamic scheduling of tasks, for RTOS mechanisms specific to resource sharing and intertask communication.

Highlights

  • An operating system (OS) is responsible for managing the hardware resources of a computing system and the applications it hosts

  • In-depth research has been performed on the processors used in real-time systems (RTSs) and real-time operating systems (RTOSs) architectures, and the results indicate that some or all of the components need to be incorporated into the hardware due to its ability to increase parallel processing and, to reduce the response time of embedded systems

  • The proposed architecture is based on predictive execution using the nMPRA concept to satisfy the timing constraints required in real-time applications without exceeding the imposed limit of power consumption

Read more

Summary

Introduction

An operating system (OS) is responsible for managing the hardware resources of a computing system and the applications it hosts. The wait Rj instruction (or an equivalent instruction depending on the architecture chosen for implementation) can synchronize the thread with seven events (time, deadline 1, 2, watchdog timer (WDT), mutex, signal and message, and interrupt event), which allows implementation using a single instruction (after a preconfiguration) to obtain time-type functions, to gain access to critical resources by automatically acquiring a mutex, or to synchronize or communicate with other threads using signal and messages or interrupt events All these are basic facilities for simple programming of a real-time application for a low embedded device without additional software.

Related Work
Multiplexing
Real-Time Operating System Implementation in nMPRA
Event Management Logic
Kernel
Static and Dynamic Scheduler
Dynamic
Module for the Hardware Management of Mutexes
Hardware Module for Synchronization and Inter-Thread Communications
The Module for Interrupt-Type
The Module for Interrupt-Type Events
12. Hardware
Module
Discussion
Conclusions
Patents
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call