嵌入式处理器中非抢占式容错调度方法及嵌入式处理器的制作方法

文档序号:6355506阅读:207来源:国知局
专利名称:嵌入式处理器中非抢占式容错调度方法及嵌入式处理器的制作方法
技术领域
本发明涉及数据处理技术,尤其涉及嵌入式处理器中非抢占式容错调度方法及嵌入式处理器。
背景技术
目前,嵌入式处理器中的非抢占式容错调度方法包括嵌入式处理器对待调度任务进行判断,也就是判断将该待调度任务加入任务队列 后是否会引起执行错误,如果不会,则将该调度任务加入任务队列,否则丢弃该调度任务;同时,嵌入式处理器从任务队列中逐个调用任务,并执行任务。在执行任务的过程中,可能有新的任务到达,该新的任务也就是待调度任务,则嵌入式处理器执行上述对待调度任务进行容错判断的步骤,以确定是否将其加入任务队列;也可能,当前执行的任务出现错误,该出错任务也称为待调度任务,则嵌入式处理器也执行上述对待调度任务进行容错判断的步骤,以确定是否将其加入任务队列重复执行。嵌入式处理器判断将该待调度任务加入任务队列后,是否会引起执行错误的方法有多种,通过实践发现,现有的判断方法步骤繁多,实现复杂;因而,常引起结果不准确,导致任务执行出现较多错误。

发明内容
本发明提供了一种嵌入式处理器中非抢占式容错调度方法,该方法能够简化容错调度的操作。本发明提供了一种嵌入式处理器,该嵌入式处理器能够简化容错调度的操作。一种嵌入式处理器中非抢占式容错调度方法,该方法包括判断待调度任务是否满足调度条件,所述调度条件为将待调度任务与任务队列中的任务作为任务集合,所述任务集合中各任务的执行不会引起任务本身超过最终期限,且所述任务集合中各任务的执行不会引起其它任务超过最终期限;如果是,则将待调度任务加入任务队列;否则,丢弃该待调度任务;调用任务队列中的任务,并执行。一种嵌入式处理器,该嵌入式处理器包括指令处理单元、内存和CPU ;所述指令处理单元,用于判断待调度任务是否满足调度条件,所述调度条件为将待调度任务与任务队列中的任务作为任务集合,所述任务集合中各任务的执行不会引起任务本身超过最终期限,且所述任务集合中各任务的执行不会引起其它任务超过最终期限;如果是,则将待调度任务传送给内存;否则,丢弃所述待调度任务;所述内存,用于接收所述指令处理单元发送的待调度任务,添加到任务队列中;并根据CPU的调用将任务逐个传送给CPU ;所述CPU,用于逐个调用任务队列中的任务,并执行。从上述方案可以看出,本发明在对待调度任务进行判断时,包括两部分内容,即任务集合中各任务的执行不会引起任务本身超过最终期限,且任务集合中各任务的执行不会引起其它任务超过最终期限;满足这两部分条件,便可将待调度任务加入任务队列;该判断方式无需执行较多的步骤,简化了操作。


图I为本发明嵌入式处理器中非抢占式容错调度方法的示意性流程图;图2为嵌入式处理器中非抢占式调度任务1、2和3的时序图;图3为本发明嵌入式处理器的结构示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。 嵌入式处理器对任务队列中的每个任务周期性地执行,通常地,每个周期的起始时刻记为0时刻,结束时刻称为相应任务的最终期限。在嵌入式处理器中的每个任务都有自己的执行时间,所谓执行时间,也就是从执行某一任务开始,至执行结束所经历的时间。参见图1,为本发明嵌入式处理器中非抢占式容错调度方法的示意性流程图,其包括以下步骤步骤101,判断待调度任务是否满足调度条件,如果满足,则执行步骤102 ;否则,丢弃该待调度任务。所述调度条件为将待调度任务与任务队列中的任务作为任务集合,所述任务集合中各任务的执行不会引起任务本身超过最终期限,且所述任务集合中各任务的执行不会引起其它任务超过最终期限。所述待调度任务为到达任务或出错任务。步骤102,将待调度任务加入任务队列。步骤103,调用任务队列中的任务,并执行。在执行任务的过程中,可能有新的任务到达,该新的任务也就是待调度任务,则嵌入式处理器执行上述对待调度任务进行容错判断的步骤,以确定是否将其加入任务队列;也可能,当前执行的任务出现错误,该出错任务也称为待调度任务,则嵌入式处理器也执行上述对待调度任务进行容错判断的步骤,以确定是否将其加入任务队列重复执行。步骤103中执行任务时,可按照静态优先级顺序从任务队列中调用任务,也可按照动态优先级顺序从任务队列中调用任务。对静态优先级顺序而言,任务队列中各任务的优先级顺序确定后,便不再改变,并按照确定的优先级顺序调用任务;当有待调度任务加入时,计算出该调度任务的优先级,然后按照计算的优先级,将待调度任务插入任务队列中。对于动态优先级,在每次调用任务队列中的任务时,都需要对任务队列中的所有任务重新计算一次优先级顺序,按照计算出的优先级顺序调用任务。静态优先级可采用现有方式计算;本发明中,静态优先级还可采用下述公式计算静态优先级=(最终期限-执行时间)/执行时间。动态优先级可采用现有方式计算;本发明中,动态优先级还可以按照下述公式计算动态优先级=最终期限/执行时间。
本发明在对待调度任务进行判断时,包括两部分内容,即任务集合中各任务的执行不会引起任务本身超过最终期限,且任务集合中各任务的执行不会引起其它任务超过最终期限;满足这两部分条件,便可将待调度任务加入任务队列;该判断方式无需执行较多的步骤,简化了操作。下面对本发明提供的调度条件进行具体说明。参见图2,为现有嵌入式处理器实际应用中,非抢占式调度任务1、2和3的时序图,
将该实例的任务队列中包含的任务表示为
权利要求
1.一种嵌入式处理器中非抢占式容错调度方法,其特征在于,该方法包括 判断待调度任务是否满足调度条件,所述调度条件为将待调度任务与任务队列中的任务作为任务集合,所述任务集合中各任务的执行不会引起任务本身超过最终期限,且所述任务集合中各任务的执行不会引起其它任务超过最终期限;如果是,则将待调度任务加入任务队列;否则,丢弃该待调度任务; 调用任务队列中的任务,并执行。
2.如权利要求I所述的方法,其特征在于,所述调度条件用下述两个公式组表示
3.如权利要求I或2所述的方法,其特征在于,所述待调度任务为到达任务或出错任务。
4.如权利要求I或2所述的方法,其特征在于,所述将待调度任务加入任务队列包括按照静态优先级顺序,将待调度任务加入任务队列;静态优先级用下述公式计算静态优先级=(最终期限-执行时间)/执行时间。
5.如权利要求I或2所述的方法,其特征在于,所述调用任务队列中的任务包括按照动态优先级顺序,调用任务队列中的任务;动态优先级按照下述公式计算动态优先级=最终期限/执行时间。
6.一种嵌入式处理器,其特征在于,该嵌入式处理器包括指令处理单元、内存和CPU ; 所述指令处理单元,用于判断待调度任务是否满足调度条件,所述调度条件为将待调度任务与任务队列中的任务作为任务集合,所述任务集合中各任务的执行不会引起任务本身超过最终期限,且所述任务集合中各任务的执行不会引起其它任务超过最终期限;如果是,则将待调度任务传送给内存;否则,丢弃所述待调度任务; 所述内存,用于接收所述指令处理单元发送的待调度任务,添加到任务队列中;并根据CPU的调用将任务逐个传送给CPU ; 所述CPU,用于逐个调用任务队列中的任务,并执行。
7.如权利要求6所述的嵌入式处理器,其特征在于,所述指令处理单元包括判断子单元和发送子单元; 所述判断子单元,用于判断待调度任务是否满足调度条件,如果是,则将待调度任务发送给发送子单元;否则,丢弃所述待调度任务; 所述发送子单元,用于将待调度任务发送给内存。
8.如权利要求7所述的嵌入式处理器,其特征在于,所述判断子单元包括静态优先级计算子单元,用于计算出待调度任务的静态优先级,在将待调度任务发送给发送子单元时,也将其静态优先级发送给发送子单元;静态优先级用下述公式计算静态优先级=(最终期限-执行时间)/执行时间; 所述发送子单元将待调度任务及其静态优先级发送给内存; 所述内存按照静态优先级顺序,将待调度任务加入内存的任务队列中;并按照静态优先级顺序,将任务队列中的任务发送给CPU。
9.如权利要求7所述的嵌入式处理器,其特征在于,所述判断子单元包括动态优先级计算子单元,用于计算出任务集合中各任务的动态优先级,在将待调度任务发送给发送子单元时,也将各任务的动态优先级发送给发送子单元;动态优先级按照下述公式计算动态优先级=最终期限/执行时间; 发送子单元将待调度任务和各任务的动态优先级发送给内存; 所述内存按照动态优先级顺序,将任务队列中的任务发送给CPU。
全文摘要
本发明提供了嵌入式处理器中非抢占式容错调度方法及嵌入式处理器,其中,该方法包括判断待调度任务是否满足调度条件,所述调度条件为将待调度任务与任务队列中的任务作为任务集合,所述任务集合中各任务的执行不会引起任务本身超过最终期限,且所述任务集合中各任务的执行不会引起其它任务超过最终期限;如果是,则将待调度任务加入任务队列;否则,丢弃该待调度任务;调用任务队列中的任务,并执行。本发明方案能够简化容错调度的操作。
文档编号G06F11/00GK102654843SQ201110052439
公开日2012年9月5日 申请日期2011年3月4日 优先权日2011年3月4日
发明者陈勇 申请人:北京国科环宇空间技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1