节点文献

实时操作系统任务调度算法的硬件实现

Hardware Implementation of Real Time Operating System Task Scheduling Algorithm

【作者】 王显山

【导师】 李岩;

【作者基本信息】 哈尔滨理工大学 , 计算机系统结构, 2011, 硕士

【摘要】 实时操作系统在整个嵌入式系统中扮演着重要的角色,控制着整个系统的工作与运转,实时操作系统一个性能的优劣将对整个系统的所有性能产生直接的影响。已有的实时操作系统内核是加在应用程序中的软件,它不仅增加了存储空间的用量,而且增加了应用程序的额外负荷。尤其在实时性较强的场合,在限定时间内响应处理任务已经成为了对实时操作系统的一个基本要求。针对实时操作系统的开销导致应用程序可执行性降低的问题,单纯依靠改进调度算法已不能使其实时性有显著的提高,所以提出将实时操作系统内核硬化到FPGA平台上的设计方案,作为独立的硬件模块与处理器并行执行。建立由中断控制器、输入/输出寄存器和实时任务管理模块组成的硬件实时操作系统总体结构。其主要工作过程:通过数据总线把相应的命令和参数发送到指定硬件逻辑单元的输入寄存器中,硬件逻辑单元作出相应的处理,并将处理结果送到相应的输出寄存器中,以供CPU进行读取。本文以嵌入式实时操作系统μC/OS-Ⅱ为研究对象,修改μC/OS-Ⅱ中由软件实现的数据结构,根据硬件逻辑电路的并行性特点,搭建各个功能模块的硬件逻辑结构,整个设计采用VHDL硬件描述语言描述各个功能模块,利用Xilinx公司的ISE 8.2软件环境进行系统调试分析,完成功能仿真验证。本文主要设计并实现了任务管理模块和信号量管理模块的硬件逻辑电路。任务管理模块中对μC/OS-Ⅱ的任务调度算法进行改进和硬化,在uC/OS-Ⅱ内核原有的基于优先级抢占式调度算法的基础上,扩展相同优先级任务的调度算法,去除了原系统对每个任务必须有不同优先级的要求,采用硬件逻辑实现实时操作系统中的任务管理模块,使其实时性和确定性显著提高,充分发挥了多任务潜在的并行性;分析并改进μC/OS-Ⅱ中对信号量的管理和应用,设计并实现信号量管理模块的硬件逻辑电路,降低了频繁查表和访问内存带来的系统开销。将实时操作系统的调度功能由原来的纯软件实现转变为硬件实现,将极大的提高实时操作系统的实时性以及处理能力。

【Abstract】 Real-time operating system plays an important role in the embedded systems, controls the work and operation of the whole system. The merits of a performance of real-time operating system have a direct impact on all the performance of the system.Existing real-time operating system kernel is the software that is added to applications. It not only increases the amount of storage space, increases applications of additional load.especially in a strong real-time occasion. Response to processing tasks within the time limit has become a basic requirement for real-time operating system.Overhead for real-time operating system cause the application to reduce the enforceability.Only improving scheduling algorithms can not make real-time increased significantly. So this paper proposed hardware real-time operating system FPGA-based design. Real-time operating system kernel is hardened to the FPGA platform. As a separate hardware module execute in parallel with the processor.Established by the interrupt controller, input/output registers and real-time task management module of the overall structure of the hardware real-time operating system. The main working process: Through the data bus to send the appropriate commands and parameters to a specific hardware logic unit input registers, hardware logic units take appropriate actions, and the results are sent to the corresponding output registers for the CPU to read.In this paper, embedded real time operating systemμC/OS-Ⅱuses as the research object. Modify theμC/OS-Ⅱin the data structure by the software.According to the parallelism features of the hardware logic, build each module of the hardware logical structure. The whole design utilizes VHDL hardware description language to describe each function module.Using Xilinx’s ISE 8.2 software to analysis system debugging, to complete function simulation.In this paper, design and implement the hardware logic for the task management module and the semaphore management module. Task management module improves and hardens theμC/OS-Ⅱtask scheduling algorithm.Based on the uC/OS-Ⅱkernel original priority-based preemptive scheduling algorithm. Extend the same priority task scheduling algorithm.Remove the requirement for each task of the original system having a different priority. Use hardware logic to implement the real-time operating system task management module, deterministic and real-time are improved significantly. Give full play to the potential multi-task parallelism. Analysis and improve the semaphore management and application ofμC/OS-Ⅱ. Design and implement the hardware logic for semaphore management module.Reduce the overhead for frequently look-up table and access memory. Make scheduling function of real-time operating system from pure software into hardware to implement, it greatly improves real-time and processing of the real-time operating system.

节点文献中: 

本文链接的文献网络图示:

本文的引文网络