{'fraction_non_alphanumeric': 0.020563594821020565, 'fraction_numerical': 0.0015232292460015233, 'mean_word_length': 5.257142857142857, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Task scheduler for dual-core real-time systems

This paper presents the design of a coprocessor that performs conflict-free task scheduling for dual-core real-time systems. The solution proposed in this paper is based on two algorithms: Earliest Deadline First (EDF) algorithm that is proved to always find an optimal ordering of hard real-time tasks and the priority-based FIFO algorithm that is suitable for non-real-time tasks. The proposed coprocessor can efficiently handle any combination of both types of tasks even though they use different parameters for scheduling. Thanks to HW implementation of the scheduler, the operations are performed in one clock cycle regardless of the current and the maximum number of tasks in the system. The proposed coprocessor is optimized for dual-core CPUs, which can lead to higher performance of real-time embedded systems. Two different approaches for dual-core systems are proposed: semaphore approach and simultaneous processing approach. The simultaneous approach allows the coprocessor to accept and perform both instructions of both CPU cores simultaneously without any conflicts. Both approaches were verified using simplified version of UVM and applying 16 million instructions with randomly generated deadline values. Achieved synthesis results are discussed.