一种实时操作系统RTOS的硬件加速设计
来源:电子工程世界 作者:—— 时间:2010-05-21 09:23
1.3 软件实现
因为任务数据结构的改变,源码中所有涉及到任务数据结构的函数都要进行修改。由于任务调度和时间处理由RTA模块执行,原先执行TimeTick的中断函数要作相应修改,在中断时,只需读取RTA中HighestPrio寄存器,然后做上下文切换,运行该优先级的任务即可。
2 实验结果
本实验使用的CPU为OR1200,CPU和所有的外设都通过Wishbone总线连接,系统时钟为25 MHz。在Altera的Cyclone II FPGA平台上,使用Quartus 8.1工具对RTA进行布局布线,其共占用4 197个逻辑单元LE(Logic Element)。
任务响应时间是RTOS性能的一个重要指标,其定义为:从任务中断产生的时刻起,到恢复任务执行之间的时间。试验中,利用自定义的Timer作为测量标尺,在2个测试点各读取一次,相减后的数值再乘以此Timer的周期,便得到该段测试时间。图3是有硬件加速和无硬件加速的任务响应时间的测试结果,单位是系统时钟周期。
从图中3可以看出,在无硬件支持的RTOS中,随着任务数的增加,任务响应时间也随之呈线性增加。其原因是,程序顺序执行,在无硬件加速的情况下,RTOS内核在每个TimeTick中断都要对任务的延时域进行顺序更新。随着任务的增加,延时域的处理时间也增长。有硬件加速支持时,任务响应时间缩短,而且与正在运行的任务数量没有关系。这是因为所有任务的延时域都同时更新,在一个时钟周期内即可全部完成。所以使用RTA模块后,降低了系统本身占用CPU的时间,提高了系统的可预测性。可见,在添加RTA模块后RTOS的性能得到了提高。
本文将μC/OS-II系统中调用频繁的任务调度和时间管理采用硬件实现,达到了降低系统负载、稳定任务响应时间、提高系统可预测性的目的。实验结果表明,使用本硬件,任务中断响应时间可降低85.8%。
参考文献
[1] KUACHAROEN P, SHALAN M, MOONEY V. A configurable hardware scheduler for real-time systems[C]. In International Conference on Engineering os Reconfigurables Systems and Algorithms, 2003.
[2] NORDSTROM S, LINDH L, JOHANSS L, et al. Application apecific real-time microkernel in hardware。Real Time Conference[C]. 14th IEEE-NPSS Volume, 2005.
[3] LAMPRET D, MLINAR M, WIEGELMANN J, et al. OpenRISC 1000 architecture manual[EB].http://www、opencores、org、 2006.
[4] LABROSSE J J著. 嵌入式实时操作系统?滋C/OS-II(第2版)[M]. 邵贝贝,译.北京:北京航空航天大学出版社, 2003:7-12.
[5] 倪继利,陈曦,李挥. CPU源代码分析与芯片设计及Linux移植[M]. 北京:电子工业出版社,2007:42-64.
- •【会议议程】12月19-21日2022(十四届)传感器与MEMS产业化技术国际研讨会(暨成果展)佛山南海瞻云酒店召开2022-12-16
- •FORESEE XP1000 PCIe SSD开启Gen3后时代发展之路2021-08-02
- •FORESEE工规级SSD应用宽温技术,加速智能工业场景落地2021-07-21
- •基于J750EX测试系统的SRAM VDSR32M32测试技术研究2017-09-05
- •Vishay检查表: 采用安规电容防止过载的12点注意事项2017-07-28
- •汽车系统的USB供电2017-06-08
- •适用于 FPGA、GPU 和 ASIC 系统的电源管理2017-05-11
- •一文读懂SPI串行外设接口2017-04-27
- •TLV3501滞回比较器电路设计2017-04-14
- •ZigBee无线呼叫系统硬件电路2017-04-05