μCOSⅡ就绪表算法在ARM架构上的改动.pdfVIP

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
μCOSⅡ就绪表算法在ARM架构上的改动.pdf

一防灾科技学院 张元伟 内嵌汇编Cortex—M3 关键词 uC/OS一1I就绪表算法 (2)存在的不足 引 言 ①RealviewMDK(这里使用的是3。20版及其指令模 },c/os—ll豹就绪表设置、演滁、查找算法,是蹇效 汇编。使尾爽嵌汇编函数辩,函数静调用(跳转返豳)降低 的、跨平台酶獠序。它使震了鼹令查找数组OSMapTbl 了执行效率。 [8]和OSUnMapTbl[256],以提高查找就绪表的速度,尽 快获取就绪任务的最高优先级。 ②C语言对clz指令的支持尚有不足,故新算法跨平 螽性差。但鉴于ARM芯片应用广泛,指令又被ARM9之 Cortex—M3是ARM公溺较薪的一种架构版本,主 螫应焉在攀冀税领域。基子窀囊产懿32谴芯黪基益增 瑟的芯片广泛兼容,掰浚应曩空越逐算广阔。 多;Cortex—M3必支持Thumb一2指令集,在效能和代码 2¨C/OS—ll就绪表算法介绍与具体改动 密度间能取得更佳的表现。 uC/OS—II就绪表是一个数缒,数组元素一位的值(1 或o)对应了一个任务就绪与否,该位在数组中的位置表 1 在ARM上改动算法的因由剩弊 承{薹务的傥先级。警需要调度已就绪戆最毫优先缴任务 壹子就绪寝操作是在关中断状态下运行的,冀执行影 遮褥对,就在就绪凌中查我该柽务。 响到系统的中断响应时间,因此就绪表操作算法的效率是 2.1.c/os—II就绪表算法简介 衡量实时操作系统优劣的基准之一。 一种解决方法是,对数组各项依次判断是否为0:若 在Cortex—M3所用的指令集中,一些指令功能不可O,进入该顼查找最小权的置l媲位置;若=o,傀先级加 夺蒺,鲡蘩导零计数elz、字蠹位反转rbit、位清除bie。其一个基数,查下一磺,直至查到该魏先缀。 uC/0S—II技高一筹,设置了一个对就绪表各项判断 中的elz和bie为uc/os就绪袭的高优先级获取算法指出 了另一条道路。 怒否为0的变量,称之为就绪表组。就绪表组一位为0或 《1)改动聪的优势 l,对应就绪表一项的值是否为0。通过查找就绪波组最 小粳位豹置l位饿鬟,就确定了j《雩疲曾令o的就绪表瑗 ④节省存镳空阗。不再捷髑查拽数组OSMapTbl 豹下标,放磊避免了循环,大辐度攥裔了效率。 [83和OSUnMapTbl[256]。设立这两个数组的强的,是 为了提高查找就绪表的效率。 2。2改动方式与源码 ②提升查找效率。clz是单周期指令,使用带移位的 加法指令,大幅缩短运算对闻。 令来进行傀毒艺。誉嗣的是,elz是跌右往左查,二进铡的高 ③增麓了,c/os—11支持鹃任务数量,放S莲提升霹馥像对应高德先缀,琵舻C/OS—II优先级浚萤,l、碧离。 了l024(2.84版支持的任务数鬃已经到了256,不过效率 考虑到有时用不到很多任务。这时用数组作就绪表不 有所下降)。

文档评论(0)

ziyouzizai + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档