新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 一种实时操作系统RTOS的硬件加速设计

一种实时操作系统RTOS的硬件加速设计

作者:时间:2010-05-20来源:网络收藏

  摘 要: 系统中重要的组成部分,但其本身的运行使整个系统的性能下降。针对的任务调度和时间延时处理部分进行分析,并加以硬件实现。在运行63个任务时,采用硬件加速模块,任务响应时间为2 180个时钟周期。相比没有硬件支持的系统,任务响应时间可降低85.8%,提高了系统的可预测性。

  随着科技的进步,系统的功能逐渐由简单向复杂发展,开发难度也随之提高。操作系统的使用,屏蔽了部分硬件信息,提供给开发者统一的平台,降低了开发难度,提高了代码的重复利用率。在一些特殊的领域(医疗、汽车、航空航天),对嵌入式系统的实时性要求非常高。在这些场合,任务必须在给定的时间内响应并正确完成。而(Real Time Operation System)本身的运行,必然会引起性能的下降,在任务数量增加时,这种下降更加明显。例如,使用?滋C/OS-II在PowerPC处理器上运行,在TimeTick(时钟节拍)周期为10 ?滋s、运行64个任务的情况下,TimeTick中断函数占用的CPU时间已达到42%[1]。

  目前,RTOS软件层面的研究已经很成熟,可有效提高RTOS性能的方法有以下几种:

  (1)提高处理器的运行频率[2]。这对功耗相当敏感的嵌入式系统并不是好方法。同时高频时钟所引起的电磁干扰对电路板布线的要求也更高;

  (2)设计专用于RTOS系统服务的硬件。硬件对相同的操作可并行处理。如果设计一种硬件,在任务数量或TimeTick频率增加的情况下,系统也能在固定的时钟周期内完成所有任务域的更新,从而降低RTOS运行所占的CPU时间。

  本文设计了实时系统加速RTA(Real-Time Acceleration)模块,对任务调度和系统时间管理进行硬件化,降低了任务中断时间,并对最终的测量数据进行对比,得出结论。

  1 RTA的硬件设计

  本文的硬件平台使用OR1200[3] CPU,它是一款由OpenCores网站维护的开放源代码CPU,内部结构可见可修改,且没有版权问题。RTA模块作为从设备连接到Wishbone总线[4]上。在RTA模块中,由硬件实现任务管理和时间管理。RTA中的寄存器全部映射到内存空间上,软件通过对寄存器的访问来控制RTA模块的运行。

  该专用硬件可分成如下两部分:

  (1)任务管理和时间管理部分。RTA模块支持64个任务,使用基于优先级的调度策略,每个任务有唯一的优先级。RTA只在需要任务切换时才中断CPU。时间延时的最小单位是TimeTick(时钟节拍),最长时间延时可达65 535个TimeTick;

  (2)用于产生TimeTick信号的Timer(计时器)。RTA必须有独立的Timer为其产生TimeTick信号。在本文中,利用OR1200自带的Timer完成此工作。

  本文使用的系统是在μC/OS-II基础上改进实现的。该RTOS由Micrium网站维护,已经应用于商业产品[5]。整个软硬件的实现在开发板DE2-70上完成,系统时钟频率为25 MHz。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭