在实时处理器线程之间分配处理器加载的方法

文档序号:6534824阅读:164来源:国知局
在实时处理器线程之间分配处理器加载的方法
【专利摘要】实时操作系统中在高频处理任务和较低频处理任务之间分配处理器加载的方法包括:从较低频处理任务向高频处理任务提出处理请求,该处理请求包括多个离散处理命令;将多个离散处理命令排队;并在多个高频处理任务的每一次的执行中,执行排队的处理命令的子集,以使多个离散处理请求的执行分配在多个高频处理任务中。
【专利说明】在实时处理器线程之间分配处理器加载的方法
【技术领域】
[0001]本发明总体涉及在实时处理环境中不同线程之间传输处理活动的方法。
【背景技术】
[0002]实时操作系统是软件操作环境,其便于多个时间紧要的任务由处理器按照预定执行频率和执行优先级进行。这样的操作系统包括复杂的一套方法来调度各个任务,以使任务在期限届满之前完成。在一些数据密集的应用中,原始数据的移动和/或其它处理器密集的任务可以在任务之间共享,以确保能够满足各期限。

【发明内容】

[0003]实时操作系统中在高频处理任务和较低频处理任务之间分配处理器加载的方法包括:从较低频处理任务向高频处理任务提出处理请求,该处理请求包括多个离散处理命令;将多个处理命令排队;并在高频处理任务的多个连续迭代(iteration)的每一次中,执行排队的处理命令中的子集,以使多个离散处理命令的执行被分配在高频处理任务的多个连续迭代中。例如,处理请求可包括复制用于执行较低频处理任务所需的多个相关数据块。
[0004]在一种配置中,该方法可进一步包括确定较低频处理任务的执行频率与高频处理任务的执行频率的比率。在高频处理任务的每一次迭代处执行的处理命令的子集可于是等于最初排队的处理命令的总数目与所确定的比率的乘积。计算每一次迭代时将要执行的任务数目可在与高频处理任务和较低频处理任务分开的处理任务中发生。
[0005]结合附图时,本发明的上述特征和优点及其他特征和优点从下文实施本发明的最佳模式的详细描述变得显而易见。
【专利附图】

【附图说明】
[0006]图1是实时操作系统中在高频处理任务和较低频处理任务之间分配处理器加载的方法的流程图。
[0007]图2A是实时操作系统中的高频处理任务的流程图。
[0008]图2B是实时操作系统中的低频处理任务的流程图。
[0009]图2C是实时操作系统中的非常低频的处理任务的流程图。
【具体实施方式】
[0010]参照附图,其中,各个视图中相似的附图标记用于标识相似或相同的部件。图1示意性示出了在实时操作系统中,在高频处理任务和较低频处理任务之间分配处理器加载的方法10。如本文中所用的,“任务”是周期性地执行计算机代码的程序,该程序可操作以进行一个或多个计算功能。
[0011]在实时操作系统中,多个不同的处理任务可以近似同步的方式被执行。每一个任务可包括多个计算,所述多个计算可关于对处理器可得的数据进行。每一个任务可被指定优先级别和执行频率,该执行频率基于任务的重要性和性质,并且处理器可试图调度任务的执行,以确保每一个任务被在其特定的执行频率下进行。
[0012]在一些情况下,被以较低频执行的任务可提出在较高频下执行的任务处理请求。例如,如果较低频任务可操作来处理一些感官数据,则较低频任务可请求较高频的任务将感官数据复制到存储寄存器中,以使较慢的任务在需要时可以访问这些数据。以该方式,较低频任务不会在等待数据传输时被不适当地延迟。在一些情况下,较低频任务可以是主操作任务,而较高频任务可被保留用于数据处理和/或通常服从较低频任务的请求。
[0013]已经发现,当较低频处理任务向较高频率处理任务提出过大的处理请求时,实现请求所需要的处理时间可能超过配给高频任务的目标执行周期(也就是说,目标执行周期为目标执行频率的倒数)。以该方式,高频任务可能超过它的完成期限,导致比所期望的慢的执行频率。与理想处理速率的这种偏差可能影响时间紧要的任务,和/或可能不利地影响系统稳定性。
[0014]继续参照图1,在非常一般的意义下,本方法10将向高频任务提出的处理请求分配在高频任务的多个迭代上。例如,如果对于较低频任务的每一个循环,高频处理任务执行每一个迭代10次,则该处理请求可能被分配在10个分开的高频任务迭代上,而不是在一次单一的执行/迭代中进行整个请求。
[0015]当较低频率处理任务向高频率处理任务提出处理请求时,方法10开始于步骤12。该处理请求可包括多个离散处理命令,并且可用调用函数和/或记录位数据表示,记录位数据提示共享处理请求的高频处理任务。处理请求的例子可包括将相关数据集合复制到与处理器相关联的存储器的请求。相关数据集合可由多个离散数据块形成,所述数据块可每一个都需要单独标记和/或复制(也就是说导致多个离散处理命令)。
[0016]在步骤12中提出请求之后,处理器可在步骤14中将多个离散处理命令排队。该命令排队可以作为未解决处理项目的当前日志由高频处理任务获得。
[0017]在步骤16中,处理器可确定可在高频处理任务的每一次迭代时执行的处理命令的最大数目,以使排队的处理命令可被分配在高频处理任务的多个迭代中。在一种配置中,处理命令的最大数目可以是较低频处理任务的期望的执行频率、高频处理任务的期望的执行频率和队列中所请求命令的总数目的函数。这样,处理器可以首先确定较低频处理任务的执行频率与高频处理任务的执行频率的比率。当该比率已知时,在高频处理任务的每一次相应的迭代时所执行的处理命令的数目可等于初始排队的处理命令的总数目与该比率的乘积。
[0018]在步骤18中,处理器可通过高频处理任务的每一次迭代执行排队的处理命令的子集。所执行的处理命令的总数目可等于步骤16中所确定的命令的最大数目。以该方式,多个离散处理命令的执行可被分配在高频处理任务的多个迭代中,也可以在较低频处理任务的下一次迭代开始之前完成。
[0019]在一种配置中,在高频处理任务的每一种情况下可能执行的处理命令最大数目的确定(即步骤16)可能在与前述的高频处理任务和较低频处理任务分开的处理任务中进行。例如,对于重新发生的处理请求,任务的最大数目的计算可能在具有比其他两个任务中的任一个更低频的处理任务中进行。
[0020]附图2A、2B和2C示意性示出了高频处理任务20 (即任务_0)、低频处理任务40 (即任务-1)和非常低频的处理任务60(即任务-2),非常低频的处理任务60可以体现被主要用在任务-1中执行操作的本发明的方法10。如图2B所示,任务-1 (40)可开始于步骤42处,接着在步骤44中,处理器可确定是否该数据可以在存储器中得以进行处理。如果是,则任务-1 (40)可在步骤46中处理数据,并在步骤48中为随后的迭代请求新的数据。而如果在步骤44中数据不可得,则任务-1 (40)在步骤50中检查是否有更多或者其它数据块可得以进行处理,并且如果没有留下任何可执行的数据块,则在步骤52中结束。在步骤48中请求用于随后的迭代的新数据的动作可包括通过向处理队列增加多个离散处理命令,向任务-O (20)提出处理请求。任务-1 (40)可然后以第一频率迭代。
[0021]参照图2A中,任务-O (20)可开始于步骤22处,接着在步骤24处检查队列是否为空,如果队列为非空,则任务-O (20)在步骤26处检查复制的数据块的数目是否少于“每项任务的最大数据块数目”。如果是,则在步骤28处标识将要复制的额外的数据块。否则,任务-O (20)可在步骤30处行进来复制任何已被标识为将要复制的数据块,并且在步骤32处结束。然后,任务-0(20)可在比任务-1 (40)的第一频率更快的第二频率下迭代。在一种配置中,任务-0(20)可在比任务-1 (40)快5至500倍的频率下执行。[0022]最后,参照图2C,任务-2(60)可开始于步骤62处,并可在步骤64中,通过确定任务-1(40)的执行频率与任务-O (20)的执行频率的比率,并将该比率乘以最初排队的处理命令的总数目,确定变量“每项任务最大数据块数目”。接着任务-2 (60)在步骤66处结束,并以比任务-1(40)的第一频率和任务-O (20)的第二频率都慢的第三频率进行迭代。
[0023]虽然已经对用于实施本发明的最佳方式已进行了详细描述,但是熟悉本发明相关【技术领域】的人将意识到在所附权利要求范围内的用于实践本发明的各种替代设计和实施例。意图说明的是,包含在上文描述中或在附图中的所有内容应仅被解释为说明性的,而不是限制性的。
【权利要求】
1.一种实时操作系统中在高频处理任务和较低频处理任务之间分配处理器加载的方法。该方法包括: 从较低频处理任务向高频处理任务提出处理请求,该处理请求包括多个离散处理命令; 对多个离散处理命令进行排队;并且 在高频处理任务的多个连续迭代中的每一次迭代中,执行排队的处理命令的子集,以使多个离散处理命令的执行分布于高频处理任务的多个连续迭代中。
2.如权利要求1所述的方法,还包括确定较低频处理任务的执行频率与高频处理任务的执行频率的比率;并且 其中,在高频处理任务的多个连续迭代中的每一次迭代时执行的处理命令的子集等于初始排队的处理命令的总数目与所确定的比率的乘积。
3.如权利要求2所述的方法,还包括计算高频处理任务的多个连续迭代中的迭代每一次迭代中将要执行的处理命令的数目。
4.如权利要求3所述的方法,其中,所述计算在与高频处理任务和较低频处理任务分开的处理任务中发生。
5.如权利要求1所述的方法,其中,多个离散的处理命令在较低频处理任务的下一次执行之前完成。
6.如权利要求1所述的方法,其中,处理请求包括复制多个相关数据块。
7.如权利要求4所述的方法,其中,相关数据块被请求用于较低频处理任务的执行。
8.一种实时操作系统中在高频处理任务和较低频处理任务之间分配处理器加载的方法,该方法包括: 从较低频处理任务向高频处理任务提出处理请求,该处理请求包括多个离散处理命令; 将多个离散处理命令进行排队; 计算在高频处理任务的多个连续迭代的每一次迭代中将要执行的处理命令的数目;并且 在高频处理任务的多个连续迭代的每一次迭代中执行计算的数目的排队处理命令,以使多个离散处理命令的执行被分配在高频处理任务的多个连续迭代中。
9.如权利要求8所述的方法,进一步包括确定较低频处理任务的执行频率与高频处理任务的执行频率的比率;并且 其中,在高频处理任务的多个连续迭代的每一次处执行的处理命令的数目等于初始排队的处理命令的总数目与所确定的比率的乘积。
10.如权利要求8所述的方法,其中,计算在与高频处理任务和较低频处理任务分开的处理任务中发生。
【文档编号】G06F9/48GK103914348SQ201410003329
【公开日】2014年7月9日 申请日期:2014年1月3日 优先权日:2013年1月3日
【发明者】J.M.费尔南多, S.E.舒尔兹, B.A.威尔克科 申请人:通用汽车环球科技运作有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1