CN101706739A - 一种实时操作系统uCOS-Ⅱ的任务调度算法的硬件实现方法 - Google Patents

一种实时操作系统uCOS-Ⅱ的任务调度算法的硬件实现方法 Download PDF

Info

Publication number
CN101706739A
CN101706739A CN200910253698A CN200910253698A CN101706739A CN 101706739 A CN101706739 A CN 101706739A CN 200910253698 A CN200910253698 A CN 200910253698A CN 200910253698 A CN200910253698 A CN 200910253698A CN 101706739 A CN101706739 A CN 101706739A
Authority
CN
China
Prior art keywords
task
hardware
real
scheduling algorithm
interrupt
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200910253698A
Other languages
English (en)
Other versions
CN101706739B (zh
Inventor
张德学
陈新华
桑圣峰
沈国新
于国苹
焦汉明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong University of Science and Technology
Original Assignee
Shandong University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong University of Science and Technology filed Critical Shandong University of Science and Technology
Priority to CN 200910253698 priority Critical patent/CN101706739B/zh
Publication of CN101706739A publication Critical patent/CN101706739A/zh
Application granted granted Critical
Publication of CN101706739B publication Critical patent/CN101706739B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Semiconductor Integrated Circuits (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一种实时操作系统uCOS-Ⅱ的任务调度算法的硬件实现方法,属于任务调度算法硬件实现领域。本发明的技术方案是:(1)硬件保存每个任务的调度相关信息,接收外部时钟TimeTick信号,每次TimeTick信号有效时,任务延时信息自动减1,至0为止,表示延时时间到;(2)根据任务状态、延时信息等判断任务是否就绪;(3)硬件计算就绪任务中的最高优先级任务号;(4)根据就绪最高优先级任务号、当前运行任务优先级号、中断嵌套标志、调度锁标志信息,决定是否发出任务切换中断;(5)软件只需响应中断并执行任务切换。本发明硬件实现uCOS-Ⅱ的任务调度算法与延时处理,显著提高了系统的实时性和可预测性。

Description

一种实时操作系统uCOS-Ⅱ的任务调度算法的硬件实现方法
技术领域
本发明涉及一种实时操作系统uCOS-II的任务调度算法的硬件实现方法,属于任务调度算法硬件实现领域。
背景技术
嵌入式实时系统领域中,实时操作系统RTOS提供了实时机制与标准的编程模型,部分屏蔽了多任务时序控制的复杂性,降低了实时系统的开发难度,但RTOS软件本身的运行同时引入了任务处理的延时,很大程度上限制了所能完成的实时任务的最高频率。
RTOS要实现的基本功能:任务管理(任务创建、调度等)、时间管理(时钟中断、延时信息域维护等)、事件管理(包括信号量、互斥锁、消息队列、FLAG等)。RTOS一般采用可抢占方式设计,在中断处理函数中需要保存与恢复现场,更新任务延时信息、更新任务状态、执行调度算法、实现任务切换,这些操作需要大量的指令完成,执行这些操作势必会降低系统性能,增大中断响应时间,降低系统可预测性,而这些操作又是维持RTOS本身正常运行而频繁执行的操作,造成的结果就是:虽然系统时钟可能为几十MHz,但能处理的实时任务的最大频率却只能在几百Hz甚至是几十Hz。当有更高频率的实时任务要求时,可以采用提高系统时钟的方法,但此方案有很大的弊端:(1)所选用的CPU或者PCB不能支持更高频率;(2)高时钟频率一般意味着高功耗,这会带来更多的问题;(3)高精度TimeTick中断会使RTOS本身占用CPU的比重增大,文献研究表明,uC/OS-II在PowerPC处理器上测试结果显示,软件实现的uC/OS-II的时钟中断处理时间随系统任务数增加而增长,当TimeTick精度提高到10usec时,RTOS本身占用CPU的时间近乎42%。
随着RTOS系统软件的成熟,其功能、算法日趋稳定,RTOS本身带来的性能损耗已很难再依赖改进软件算法来降低。将RTOS中公用的、性能相关的操作(如任务调度、时间管理、事件处理、中断现场的保护与恢复等)用硬件方式实现,提高整个实时系统的性能,使整个系统具有100%可预测性与确定性,确保系统的硬实时性,已成为嵌入式实时系统领域中前沿课题和研究热点。开展实时操作系统的硬件化加速研究,创建硬件加速嵌入式实时系统平台,可以在较低的时钟频率下满足更高的实时任务要求,在嵌入式实时控制领域有重要的应用前景。
发明内容
一种实时操作系统uCOS-II的任务调度算法的硬件实现方法,其特征在于:
(1)硬件保存每个任务的调度相关信息,接收外部时钟TimeTick信号,每次TimeTick信号有效时,任务延时信息自动减1,至0为止,表示延时时间到,即所有任务的延时信息处理由硬件在1个时钟周期内完成;
(2)根据任务状态、延时信息等判断任务是否就绪;
(3)硬件计算就绪任务中的最高优先级任务号;
(4)根据就绪最高优先级任务号、当前运行任务优先级号、中断嵌套标志、调度锁标志信息,决定是否发出任务切换中断;
(5)软件只需响应中断并执行任务切换。
本发明硬件实现uCOS-II的任务调度算法与延时处理,显著提高了系统的实时性和可预测性。
附图说明
图1是本发明涉及的硬件功能电路框图
图2是采用本发明涉及的方法,设计的wishbone总线接口的uCOS-II实时操作系统硬件加速模块在实际系统中的连接图,本发明涉及的模块是图2中的RTA模块。
具体实施方式
本实现例具体说明如何应用本发明方法,设计wishbone总线接口的uCOS-II实时操作系统硬件加速知识产权模块(IP核)。
(1)硬件保存每个任务的调度相关信息:TaskValid指示本任务是否有效;OSTCBDly保存本任务的延时信息;OSTCBStat指示任务状态;OSTCBStatPend指示任务Pend状态。
(2)外部输入的时钟TimeTickTrig信号,触发每个任务控制块中OSTCBDly减1,直至0为止。
(3)每个任务就绪信号TaskReadyN与TaskValid、OSTCBDLy、OSTCBStat有关,实现逻辑为:TaskReadyN=TaskValidN &(OSTCBStatN==`OS_STAT_RDY)&(OSTCBDlyN==16’h0);
(4)PrioBitmapToBinary模块实现从就绪任务中找出最高优先级任务任务号的功能,输出HighestPrio信号。
(5)中断逻辑模块Interrupt Logic接受当前CPU运行任务SW_Task_Cur、目前就绪的最高优先级任务HighestPrio、本设计模块使能信号RTA_Control、中断嵌套标识OSIntNesting、调度锁信号OSLockNesting,决定是否产生任务切换中断,实现逻辑为:
wb_inta_o=RTA_Control &(HighestPrio !=SW_TASK_Cur)&(OSIntNesting==8’h00)&(OSLockNesting==8’h00);
(6)模块内部寄存器的读写均采用wishbone总线接口
(7)软件与硬件配合:软件在创建新任务、设置任务延时信息、设置中断嵌套标志、设置调度锁时,向硬件相应寄存器写入数值,之后只需响应硬件的任务切换中断信号,在中断服务程序中,无需维护任务延时信息,无需计算当前就绪最高任务号,无需判断是否需要任务切换,直接执行任务切换动作,大大减少了中断响应时间与关中断时间,提高了系统的实时性。
整个实例系统连接关系如图2所示。采用的是开源32位微处理器OR1200,其内部集成中断控制器PIC,时钟模块TimeTick,CPU的except处理模块处理PIC与TimeTick产生的中断指示信号,本发明涉及的模块RTA,外部的TimeTickTrig信号接的是OR1200 TimeTick的输出信号,同时用RTA产生的中断信号替换TimeTick接入except的sig_tick信号,其含义变为任务切换信号sig_task.

Claims (2)

1.一种实时操作系统uCOS-II的任务调度算法的硬件实现方法,其特征在于:
(1)硬件保存每个任务的调度相关信息,接收外部时钟TimeTick信号,每次TimeTick信号有效时,任务延时信息自动减1,至0为止,表示延时时间到;
(2)根据任务状态、延时信息等判断任务是否就绪;
(3)硬件计算就绪任务中的最高优先级任务号;
(4)根据就绪最高优先级任务号、当前运行任务优先级号、中断嵌套标志、调度锁信息,决定是否发出任务切换中断;
(5)软件只需响应中断并执行任务切换。
2.一种根据权利要求1所述方法,设计实时操作系统uCOS-II的任务调度算法硬件实现知识产权模块(IP核)的方法,其特征在于:
(1)核心电路采用权利要求1中(1)、~(4)所述方法
(2)外部接口采用主流片上总线接口(如wishbone,avalon,amba等),实现对核心电路内部寄存器的读写与控制。
CN 200910253698 2009-12-03 2009-12-03 一种实时操作系统uCOS-Ⅱ的任务调度算法的硬件实现方法 Expired - Fee Related CN101706739B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910253698 CN101706739B (zh) 2009-12-03 2009-12-03 一种实时操作系统uCOS-Ⅱ的任务调度算法的硬件实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910253698 CN101706739B (zh) 2009-12-03 2009-12-03 一种实时操作系统uCOS-Ⅱ的任务调度算法的硬件实现方法

Publications (2)

Publication Number Publication Date
CN101706739A true CN101706739A (zh) 2010-05-12
CN101706739B CN101706739B (zh) 2013-04-10

Family

ID=42376965

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910253698 Expired - Fee Related CN101706739B (zh) 2009-12-03 2009-12-03 一种实时操作系统uCOS-Ⅱ的任务调度算法的硬件实现方法

Country Status (1)

Country Link
CN (1) CN101706739B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104536345A (zh) * 2014-12-17 2015-04-22 万向钱潮股份有限公司 一种基于汽车电控控制系统的多任务控制方法
CN103744730B (zh) * 2014-01-27 2017-01-11 北京京东尚科信息技术有限公司 一种任务调度方法和装置
CN108230494A (zh) * 2017-12-21 2018-06-29 广东汇泰龙科技有限公司 嵌入FreeRTOS操作系统的家用智能云锁的配置方法和云锁
CN108536531A (zh) * 2018-04-03 2018-09-14 中国电子科技集团公司第七研究所 一种基于单片机的任务调度和电源管理方法
CN109947468A (zh) * 2017-12-20 2019-06-28 北京谊安医疗系统股份有限公司 一种实现无阻塞无任务切换的事件延时方法
CN113467901A (zh) * 2020-03-31 2021-10-01 北京华为数字技术有限公司 一种任务调度的方法及相关设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
PRAMOTE KUACHAROEN,ET AL.: "A Configurable Hardware Scheduler for Real-Time Systems", 《IN PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON ENGINEERING OF RECONFIGURABLE SYSTEM AND ALGORITHMS》 *
SUSANNA NORDSTROM,ET AL.: "Application Specific Real-Time Microkernel in Hardware", 《REAL TIME CONFERENCE》 *
刘淼等: "基于uCOS-II的嵌入式数控系统实时性分析", 《计算机工程》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103744730B (zh) * 2014-01-27 2017-01-11 北京京东尚科信息技术有限公司 一种任务调度方法和装置
CN104536345A (zh) * 2014-12-17 2015-04-22 万向钱潮股份有限公司 一种基于汽车电控控制系统的多任务控制方法
CN109947468A (zh) * 2017-12-20 2019-06-28 北京谊安医疗系统股份有限公司 一种实现无阻塞无任务切换的事件延时方法
CN109947468B (zh) * 2017-12-20 2021-07-02 北京谊安医疗系统股份有限公司 一种实现无阻塞无任务切换的事件延时方法
CN108230494A (zh) * 2017-12-21 2018-06-29 广东汇泰龙科技有限公司 嵌入FreeRTOS操作系统的家用智能云锁的配置方法和云锁
CN108536531A (zh) * 2018-04-03 2018-09-14 中国电子科技集团公司第七研究所 一种基于单片机的任务调度和电源管理方法
CN108536531B (zh) * 2018-04-03 2021-08-06 广州技象科技有限公司 一种基于单片机的任务调度和电源管理方法
CN113467901A (zh) * 2020-03-31 2021-10-01 北京华为数字技术有限公司 一种任务调度的方法及相关设备

Also Published As

Publication number Publication date
CN101706739B (zh) 2013-04-10

Similar Documents

Publication Publication Date Title
CN101706739B (zh) 一种实时操作系统uCOS-Ⅱ的任务调度算法的硬件实现方法
CN101872314B (zh) 用于多处理器的动态调度中断控制器
CN105843362B (zh) 用于异构多核心系统的动态核心选择
US9304811B2 (en) Methods and systems to identify and migrate threads among system nodes based on system performance metrics
CN102298344B (zh) 一种基于fpga动态部分可重构技术的局部热点缓和系统
CN103440171A (zh) 一种构件化硬件实时操作系统的实现方法
US20160321183A1 (en) Early cache prefetching in preparation for exit from idle mode
CN104081315A (zh) 包括线程合并的用于能效和节能的方法、装置和系统
CN101796487A (zh) 虚拟队列处理电路以及任务处理器
CN104272256A (zh) 任务处理装置
CN104156197A (zh) 微处理器以及微处理器操作方法
CN109690497B (zh) 用于通过输入参数来区分函数性能的系统和方法
CN105492989A (zh) 用于时钟门控控制的早唤醒-警告
CN103823706A (zh) 一种基于RTLinux的被控对象模型模拟仿真实时调度方法
CN103870240A (zh) 用于超前运行操作的指令分类
US11086631B2 (en) Illegal instruction exception handling
CN101639791B (zh) 一种改善嵌入式实时操作系统中断延迟的方法
US20140380022A1 (en) Stack access tracking using dedicated table
CN101539869A (zh) 与调度性能直接相关的内存管理核的硬件化的方法
TWI409701B (zh) Execute the requirements registration and scheduling method
CN101349975B (zh) 一种在嵌入式操作系统上实现中断底半部机制的方法及装置
JP5833434B2 (ja) 半導体装置
CN100555229C (zh) 融合无线传感网络操作系统内核的方法
CN100389411C (zh) 在嵌入式实时操作系统中实现逻辑中断优先级的方法
Niu et al. Analysis and implementation of migrating real-time embedded operating system FreeRTOS kernel based on S3C44B0 processor

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130410

Termination date: 20141203

EXPY Termination of patent right or utility model