[发明专利]基于uC/OS-II的硬件任务管理器有效
申请号: | 201210399253.1 | 申请日: | 2012-10-19 |
公开(公告)号: | CN102929714A | 公开(公告)日: | 2013-02-13 |
发明(设计)人: | 姚艳松;陈靖公;雍太利;朱学海 | 申请(专利权)人: | 国电南京自动化股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 南京纵横知识产权代理有限公司 32224 | 代理人: | 董建林 |
地址: | 210009 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 uc os ii 硬件 任务 管理器 | ||
技术领域
本发明涉及一种硬件任务管理器,属于嵌入式操作系统技术领域。
背景技术
uC/OS-II是一种应用广泛的嵌入式实时操作系统,它采用基于优先级的可剥夺内核,体积小巧,运行效率高。通过进一步研究发现,uC/OS-II内部核心的任务管理系统还有改善的空间。
通过分析uC/OS-II内核源码可发现,当时钟中断到来时,内核需要调用OSTimeTick()函数,进行任务扫描管理,主要过程如下:
1.关闭中断;
2.如果任务处于阻塞态或延时态,将其延时计数器减1,如果延时计数器为0,则任务进入运行态;
3.开启中断。
每次调度时钟中断到来,内核需要处理64个任务信息,进行64次中断关断开启操作,进行大量的任务状态判断,占用了大量CPU时间,需要数千个CPU处理周期。根据任务数和任务状态不同,处理时间也不一样,开启的任务数量越多,消耗CPU时间也越多,这也增加了内核执行时间的不确定性。
uC/OS-II的任务优先级排序设计的非常精巧,采用一个8x8任务就绪表实现,每次通过查询就绪表就可以快速找到正在运行的优先级最高的任务,比轮询操作更方便快捷,但依然需要十几个CPU处理时间,有改善的空间。
综上所述,uC/OS-II为了通用性,采用了精巧的任务管理方式,对于特定的使用环境,可以对内核进行修改,以减小内核处理时间,增加内核调度时间确定性,实现更高的性能。
发明内容
本发明所要解决的技术问题是对嵌入式操作系统内核进行改进,以减小内核处理时间,增加内核调度时间确定性,实现更高的性能。
为解决上述技术问题,本发明提供一种基于uC/OS-II的硬件任务管理器,嵌入式操作系统包括CPU和FPGA,CPU与FPGA以总线方式相连,CPU通过地址空间访问FPGA的寄存器接口,控制硬件任务管理器,其特征在于:在FPGA端设置有硬件任务管理器,硬件任务管理器包括全局管理模块和任务管理模块,所述全局管理模块包括当前最高优先级任务ID寄存器和时钟脉冲寄存器,所述任务管理模块有64个,每个uC/OS-II任务对应一个任务管理模块,每个任务管理模块包含任务状态寄存器、阻塞状态寄存器、阻塞超时结果寄存器和延时计数寄存器,
当前优先级最高任务ID寄存器:读取当前优先级最高任务ID寄存器可得到当前最高任务的ID,最高任务的ID是由各任务状态同步编码得到;
时钟脉冲寄存器:时钟脉冲寄存器用于管理各任务状态,通知任务管理模块有时钟到来;
任务状态寄存器:任务状态寄存器如果是0,表明任务状态是挂起态,否则是运行态,CPU直接设置该寄存器,如果延时计数寄存器由1变为0,任务状态寄存器置为1,表明任务由挂起态进入运行态;
阻塞状态寄存器:阻塞状态寄存器为0表明任务进入运行态或延时态,为1为阻塞态,表明任务正在等待信号量或者消息队列,如果延时计数寄存器由1变为0,阻塞状态寄存器置为0,表明任务由阻塞态进入运行态;
阻塞超时结果寄存器:如果延时计数寄存器由1变为0,且阻塞状态寄存器为1,则阻塞超时结果寄存器置为1,表明阻塞超时,否则为0;
延时计数寄存器:通过设置延时计数寄存器,可以在任务延时态时指定任务延时时间,在任务阻塞态时设置任务阻塞等待时间,如果延时计数寄存器不为0,当CPU向时钟脉冲寄存器写1时,该寄存器值自动减1。
本发明所达到的有益效果:本发明充分利用FPGA的并行优势,当时钟中断到来时,只需要CPU向时钟脉冲寄存器写1,即可完成所有任务运行状态管理,然后可以立即获取当前最高优先级任务的ID,将需要耗费CPU数百甚至数千处理周期降低到只需要2个处理周期,与操作系统负载轻重无关,极大提高了操作系统的实时性。
附图说明
图1为本发明CPU与FPGA的连接示意图。
具体实施方式
本发明通过分析uC/OS-II内核,提出了一种硬件任务管理器,以加快内核运行速度。目前大多嵌入式操作系统采用了CPU+FPGA模式,在FPGA端可以方便的实现uC/OS-II任务管理器功能。CPU与FPGA以总线方式相连,CPU通过地址空间访问FPGA的寄存器接口,控制硬件任务管理器,如图1所示。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国电南京自动化股份有限公司,未经国电南京自动化股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210399253.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:液力联接装置
- 下一篇:一种高铌钛铝金属间化合物的无污染定向凝固方法