新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > μC/OS-II实时性能测试与研究

μC/OS-II实时性能测试与研究

作者:时间:2012-11-10来源:网络收藏

3.2 时间测试步骤及结果
  
① 同时间测试。


图2 时间测试

② 如图2所示,建立一个任务Task_IRT_Test和定时器0对应的中断服务子程序Timer0_IRT_Test。在任务中开启定时器0,当定时器0自减到0时,CPU响应该中断,CPU的中断向量跳转到定时器0的中断服务子程序Timer0_IRT_Test,由它保存CPU的全部寄存器;然后通知内核进入中断服务子程序,同时将堆栈指针保存到当前任务控制块OS_TCB中,之后用户的中断服务代码开始执行,在此停止定时器0,读出它的数值a2。
  
③ 根据式(2)计算结果。
  
④ 重复10次实验,取最大值0.24 μs。

4 CPU运行频率对μC/OS-II实时性的影响
  
将CPU运行频率分别降低到152.00 MHz、101.25 MHz、67.50 MHz和33.75 MHz。
  
测试方法不变,其测试结果分别如图3和图4所示。其中,时间的最大值分别为7.14 μs、10.74 μs、16.35 μs、32.71 μs;时间的最大值分别为0.32 μs、0.47 μs、0.95 μs、1.90 μs。




 测试结果分析: 总体上,随着CPU运行频率的增加,时间和中断响应时间都会减小,且呈非线性变化。特别是CPU运行频率较低时,其变化对实时性能影响较大;当CPU运行在较高的频率时,其变化幅度相对要小些。其非线性变化是与最小分频时间相关的。
  
这说明CPU运行频率对实时性能起着非常重要的作用。因为它直接决定指令的处理周期,频率增加时,指令周期减小,系统用于同步等待的时间缩短,CPU执行每条语句的速度加快,保存和恢复CPU寄存器内容的速度也相应加快,因此实时性能变得更好。

5 CPU利用率对μC/OS-II实时性能的影响
  
之前的测试都是在CPU负荷较小的情况下进行的,当CPU负荷增大(即利用率升高)时,实时性又会如何变化呢?这里建立了N个相同的任务,同时进行大批量的浮点运算。再建立一个任务,利用μC/OS-II自带函数OSStat()计算CPU利用率。对应不同的N值,有不同的CPU利用率,分别测试其实时性,得到的结果如图5所示。测试结果表明: 当CPU负荷增大时,任务切换时间会增加,中断响应时间也会略有增加。CPU利用率对系统的实时性能有一定的影响,但不是很大。

6 结论

本文在特定的硬件平台上测得μC/OS-II在不同情况下的任务切换时间和中断响应时间,能较好地反映出它的实时性能。测试方法在没有精密仪器的条件下即可完成,具有简单易行、硬件依赖性低、可信度高的特点,为开发人员将μC/OS-II用于嵌入式操作系统的实时应用提供了依据。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭