新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > μC/OS的任務(wù)調(diào)度實(shí)現(xiàn)方法及其在PowerPC上的優(yōu)化

μC/OS的任務(wù)調(diào)度實(shí)現(xiàn)方法及其在PowerPC上的優(yōu)化

作者: 時(shí)間:2012-08-31 來(lái)源:網(wǎng)絡(luò) 收藏

 lwzr3,128(r5)//OSRdy.Grp在結(jié)構(gòu)體中具有固定偏移量

本文引用地址:http://www.butianyuan.cn/article/148478.htm

  cntlzwr3,r3//數(shù)出OSRdyGrp的前導(dǎo)零數(shù)目

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

  lwzxr4,r6,r5//通過(guò)結(jié)構(gòu)體指針,讀取OSRdy.Tbl的對(duì)應(yīng)字

  cntlzwr4,r4//計(jì)算OSRdyTbl對(duì)應(yīng)字的前導(dǎo)零數(shù)目

  slwir3,r3,5//優(yōu)先級(jí)高5位移位

  addr3,r4,r3//和優(yōu)先級(jí)低5位相加,得到完整優(yōu)先級(jí)

  blr//返回

  }

  在64位的 更有cntlzd(Count Leading Zero Double word)指令,一次就可以找出64個(gè)中優(yōu)先級(jí)最高的那個(gè),就更沒(méi)有必要使用μII中的算法了。

  5 總結(jié)

  RTOS實(shí)時(shí)內(nèi)核μ和μII中,算法巧妙,性能優(yōu)異,在嵌入式應(yīng)用領(lǐng)域很有影響力,被移植到各種CPU上。然而由于是為8位CPU設(shè)計(jì)的,對(duì)于那些具有優(yōu)先級(jí)硬件算法指令的16/32/64位CPU,μC/OSII的軟件算法就完全失去了優(yōu)勢(shì)。應(yīng)該利用這類CPU的特有指令,任務(wù)算法,使RTOS的實(shí)時(shí)性達(dá)到最佳。對(duì)于這類處理器,僅移植μC/OSII軟件算法是很不夠的,應(yīng)該利用相關(guān)硬件算法指令。


上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉