μC/OS的任务调度实现方法及其在PowerPC上的优化

嵌入式系统 时间:2012-08-31来源:网络

 lwzr3,128(r5)//OSRdy.Grp在结构体中具有固定偏移量

  cntlzwr3,r3//数出OSRdyGrp的前导零数目

  slwir6,r3,2//得到OSRdyTbl的地址偏移量

  lwzxr4,r6,r5//通过结构体指针,读取OSRdy.Tbl的对应字

  cntlzwr4,r4//计算OSRdyTbl对应字的前导零数目

  slwir3,r3,5//任务优先级高5位移位

  addr3,r4,r3//和优先级低5位相加,得到完整优先级

  blr//返回

  }

  在64位的PowerPC 更有cntlzd(Count Leading Zero Double word)指令,一次就可以找出64个任务中优先级最高的那个,就更没有必要使用μC/OSII中的算法了。

  5 总结

  RTOS实时内核μC/OS和μC/OSII中,任务调度算法巧妙,性能优异,在嵌入式应用领域很有影响力,被移植到各种CPU上。然而由于是为8位CPU设计的,对于那些具有优先级硬件算法指令的16/32/64位CPU,μC/OSII的软件算法就完全失去了优势。应该利用这类CPU的特有指令,优化任务调度算法,使RTOS的实时性达到最佳。对于这类处理器,仅移植μC/OSII软件算法是很不够的,应该利用相关硬件算法指令。

1 2 3

关键词: 及其 PowerPC 优化 方法 实现 任务 调度 C/OS

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版