专利名称:用于测量任务负载的方法和系统的制作方法
技术领域:
所描述的实施例大体涉及实时计算。更明确地说,所描述的实施例涉及测量一个 或一个以上任务负载,其可用于调整应用在系统上的负载。
背景技术:
图1大体描述实时计算系统的现有技术。实时计算系统控制应用程序的执行以及 到系统硬件和公用程序的接口。实时计算系统103可托管于例如处理器或数字信号处理器 等电子硬件101上。作为一实例,硬件可为移动电话上的硬件或具有内嵌式软件或固件的 任何装置上的硬件。公用程序105通常是辅助计算系统控制输入/输出装置和管理文件的程序。在此类应用中,有用的是出于系统设计考虑或作为输入到可利用任务负载信息的 其它应用107的参数而知道实时计算系统上来自一个或一个以上个别任务的负载。确定任 务的负载的现有技术方法是使用逻辑分析器俘获任务执行数据并对特定个别任务上执行 的指令进行计数。此方法不是实时的且因此不允许将任务负载用作到可有效使用所述信息 的另一应用的输入。举例来说,乐器数字接口(MIDI)应用可使用实时任务负载来确定是否 减小针对将来帧处理的MIDI语音。
发明内容
详细描述内容中揭示的实施例包含确定任务执行循环的数目以计算任务负载。确 定任务执行循环的数目包括在任务执行之前从自由运行计数器读取第一计数值;在所述 任务停止运行之后从自由运行计数器读取第二计数值;以及实时取得所述第一计数值与所 述第二计数值之间的差。所述任务执行循环可在参考间隔内累加。所述参考间隔可为可配 置值。可通过使用累加器在参考间隔内累加所述第一计数值与所述第二计数值之间的所述 差并将所述和除以参考间隔来确定所述任务负载。另一实施例包含调度音频任务。调度音频任务包括建立在其间处理当前帧中的 音频任务的参考间隔;以及计算用以处理音频任务的实际循环数目与参考间隔中的循环数 目之间的差并调度针对将来音频任务的参数。可用于处理将来音频任务的循环数目可基于 音频任务的任务负载且基于用以处理音频任务的实际循环数目来计算。可用于处理将来音 频任务的循环数目可通过以下方式来计算取参考周期中的循环数目(最大循环),并减去 用于处理当前音频任务的循环数目(实际循环),且加上用于在参考间隔内处理当前帧中 的音频任务的循环数目(经累加任务执行循环)。在示范性实施例中,调度参数为音频帧中的合成语音参数。参考间隔可经由硬件或软件而为可配置的。所计算的差基于时间与循环 之间的转换。调度的示范性实施例包含相对于当前音频任务处理将来音频任务的较少音频 帧参数,或相对于当前音频任务处理将来音频任务的相等或较大数目的音频帧参数。可用 于处理将来音频任务的循环数目在处理最大数目的音频帧参数时可为零,或在处理器通电 期间可为零。另一实施例是一种包括处理器的设备,所述处理器用于计算用以处理音频任务的 实际时间与参考间隔中的循环数目之间的差并基于所计算的差调度将来音频任务。存储器 存储调度参数,且自由运行计数器将至少两个计数值提供到处理器以计算音频任务的实际 时间。另一实施例是一种包括以下装置的设备用于检索在其间处理当前帧中的音频任 务的参考间隔的装置;用于计算用以处理音频任务的实际循环数目与参考间隔中的循环数 目之间的差的装置;以及用于调度针对将来音频任务的参数的装置。另一实施例是一种计算机可读媒体,其体现可由一个或一个以上处理器执行的指 令集。所述计算机可读媒体包括用于检索在其间处理音频任务的参考间隔的代码;用于 计算用以处理音频任务的实际循环数目与参考间隔中的循环数目之间的差的代码;以及用 于调度针对将来音频任务的参数的代码。
图1是实时计算系统的框图说明。图2是实时测量任务负载的实时计算系统的框图示范性实施例。图3是说明可在主机处理器上运行的方法的流程图。图4是应用任务的处理期间实时计算系统内可发生的各种定时情况的图形说明。图5是多处理器系统的示范性实施例的框图。图6是音频装置的示范性说明的框图。图7是音频任务的示范性实施例中的定时的图形说明,所述音频任务在计算中利 用任务负载来估计可用于处理下一帧中的音频任务的时间或循环。图8是说明确定任务负载的方法的流程图。图9是说明调度音频任务的方法的流程图。
具体实施例方式本文以下描述内容和相关图式中揭示各种实施例。可在不偏离本发明的范围的情 况下设计出替代实施例。另外,本发明的一些众所周知的元件将不予以详细描述或将省略 以免混淆本发明的相关细节。本文使用词语“示范性”来表示“充当实例、例子或说明”。本文描述为“示范性”的 任何实施例不必理解为相对于其它实施例是优选或有利的。同样,术语“本发明的实施例” 不要求本发明的所有实施例均包含所论述的特征、优点或操作模式。本文使用术语“实时计算系统”来表示(但不限于)使用调度系统实时处理至少 一个任务。图2是运行实时计算系统230的主机处理器210的示范性实施例。计算系统230以特定间隔读取并存储从自由运行计数器225输出的值。本文使用术语“自由运行计数器” 来表示在低功率模式期间和/或在主机处理器休眠状态期间保持运行的计数器或其它参 考源。所属领域的技术人员将了解,可在不偏离代表性实施例的精神和范围的情况下使用 例如软件计数器或硬件计数器等参考源。自由运行计数器225可物理上位于处理器内部或 处理器外部。运行实时计算系统230的主机处理器210处理应用任务205。任务由任务调度器 215处理,所述任务调度器215确定处理器210何时可用以及任务何时准备好进行处理。中 断处理程序220可用于中断当前正由处理器210执行的任务205。被中断的任务205由任务调度器管理。图3是说明可在主机处理器210上运行的示范性方法的流程图。任务的调度340 可经由众多方案实施。此类方案可包含(但不限于)抢先方案和时间共享方案。抢先方案 允许首先执行具有最高所指派优先级的任务。抢先方案可中断正处理的另一较低优先级任 务以便执行较高优先级任务。时间共享设计依据时钟中断调度表执行任务,其中将用于处 理的时间片分配到每一任务直到所有任务完成为止。如果存在可用于运行的任何任务(见框330),那么调度340任务并将其发送到例 如主机处理器210以进行处理345。当其它任务变得准备好执行且同时主机处理器正忙于 执行当前任务时,任务调度器340将确定是否抢先于当前任务350。可基于调度方案或出于 其它考虑而决定中断。如果不中断当前任务,那么主机处理器继续执行当前任务345直到任务完成为止 360。如果所完成的任务不是音频任务358,那么主机处理器在框330处开始处理下一任务。 如果所完成的任务是音频任务358,那么可执行359调度将来的音频任务。在完成框359后 或替代地与框359的执行同时,主机处理器在框330处开始处理下一任务。稍后论述调度音频任务。当中断发生350时,处理355所述中断。所属领域的一般技术人员可(作为一实 例)设计系统以在被中断的任务暂停之前保存正处理的任务的状态或执行其它清除。因 此,被中断的任务在接收到中断后可或可不即刻暂停处理。任务调度器340继续管理尚未 完成执行的任务。一旦当前任务暂停且主机处理器可用,主机处理器就开始执行下一所调 度任务。当框330检测到没有任务准备好运行且框345检测到没有任务正在处理时,计算 系统可在框335中进入休眠状态。在休眠状态期间,主机处理器闲置且可减少或停用其功 率消耗。自由运行计数器225将在休眠状态期间继续计数。在接收到中断后,处理器的休 眠状态即刻中断365,因此从休眠状态中唤醒并增加其功率消耗。任务调度器340调度任何 准备好执行的任务,且处理所述任务345。图4时间线400、405和410是应用任务的处理期间实时计算系统内可发生的各种 定时情况的说明。在这些说明中,时间在图4中从Tx增加到Τγ。术语“参考间隔”可定义为时间周期或描述为对应数目的循环,如自由运行计数器 225所测量。参考间隔可由变量X和Y描述,其中X表示参考间隔的起点,且Y表示一周期 内参考间隔420的终点。参考间隔=Ty-Tx (等式1)
图4元件400说明测量在计算系统上运行的任务负载的示范性方法。在执行所调 度任务之前,计算系统将从自由运行计数器225读取值;所述值定义为Tstart。接着执行所 调度任务直到其被暂停为止。在任务的执行完成后或在所述任务被另一任务抢先后即刻暂 停所述任务。一旦任务被暂停,实时计算系统就将从自由运行计数器读取值,所述值定义为 T d。Tstart和Tmd的实例展示于元件400中。术语“任务执行循环”通过取Tmd与Tstot之间 的差而定义且展示于等式2中。所属领域的一般技术人员可经由软件或经由硬件执行取此 差。任务执行循环=Tend-Tstart (等式2)任务执行循环可在先前在间隔X、Y420上定义的参考间隔内累加,如等式3所示。 累加任务执行循环的示范性实施例是使用硬件或软件累加器元件,其具有足够的位以避免 参考间隔期间的溢出。此硬件或软件累加器在本文中称为“累加器”。作为另一示范性实施 例,累加器可实施于计算系统中或可为计算系统外部的累加器。Yη η经累加任务执行循环=Σ ( Tend - Tstert) (等式3)n=X每一任务的负载可通过将经累加任务执行循环除以参考间隔来确定,如等式4中 所示。所属领域的一般技术人员将了解,此计算可应用于任何任务以计算其负载。γ ηη任务负载=E(Tend-Tstart)n=x __ (等式 4)Τγ.Τχ图8是说明确定任务负载的方法的流程图。配置和存储810参考间隔。如先前所 论述,配置的示范性说明是经由软件配置参考间隔并将值存储在存储器中,或经由硬件配 置进行。在任务执行之前,从自由运行计数器读取第一计数值820。在任务停止运行之后, 从自由运行计数器读取第二计数值830。处理器可实时取得第一计数值与第二计数值之间 的差840。实时取得第一计数值与第二计数值之间的差的示范性说明见等式2中,其中可经 由硬件或软件方法取得差。累加器可在所配置的参考间隔内累加第一计数值与第二计数值 之间的差850。累加计数值之间的差的示范性说明见等式3中,其中累加器可在硬件或软件 中实施。可通过将经累加的差除以参考间隔来计算860任务负载。计算任务负载的示范性 说明见等式4中,其中计算可在硬件或软件中发生。所属领域的一般技术人员将理解,所确定的任务负载可应用于选自由以下各项组 成的群组的电子装置中机顶盒、音乐播放器、视频播放器、娱乐单元、导航装置、通信装置、 个人数字助理(PDA)、固定位置数据单元和计算机,确定任务负载的方法集成到所述电子装 置中。所属领域的一般技术人员可将任务负载用于各种目的,例如系统设计考虑或作为 输入到可利用任务负载信息的其它应用的参数。举例来说,当正执行高优先级任务时,另一 应用可使用任务负载信息来限制计算系统的负载。将在本文献中稍后论述用于利用任务负 载的示范性实施例。8
可配置和存储参考间隔。参考间隔可经配置使得有足够的分辨率以准确地在参考 间隔内累加任务执行循环。作为一说明,参考间隔可配置为小于以下值的值自由运行计 数器的周期乘以累加器的最大计数值。可配置的参考间隔可经由软件或硬件配置。举例来 说,参考间隔可由软件配置,且参考间隔可存储在由处理器读取的存储器中。或者,参考间 隔可在硬件中配置。硬件配置的示范性说明是设定具有参考间隔的值的锁存器或触发器。另外,如225处所示的自由运行计数器可由所属领域的一般技术人员设定为足够 大以准确地俘获任务执行循环的频率。图5是多处理器系统的示范性实施例。多处理器系统可连接到个别或共享自由运 行计数器。可如所论述且通过利用等式1到4计算个别任务负载。作为一实例,在图5中 的处理器的任一者上运行的任何任务均可计算任务负载。图6是音频装置600的示范性说明。音频装置可以是能够处理任何类型的音频或 视频文件(例如,语音或乐器数字接口(MIDI)文件)的装置。音频装置600可包含存储 MIDI文件和其它类型的数据的音频存储单元605。音频存储单元605可包括耦合到处理器 610的任何类型的易失性或非易失性存储器或存储装置。音频装置600还包含第一处理器610和第二处理器630,其一起操作以处理音频文 件以便为最终用户产生音频信息。图6说明在第一处理器610与第二处理器630之间分离 音频任务的架构。所属领域的一般技术人员可了解其它替代实施方案,例如将元件610和 630组合为单一单元,使得一个处理器执行元件610和630的功能性。作为一实例,第一处 理器610可为ARM处理器且第二处理器630可为数字信令处理器(DSP)。作为另一实例,在 单一处理器执行610和630的组合功能性的情况下,单一处理器可执行处理和数字信号处 理两者。在示范性实施例中。第一处理器610与第二处理器630在参考间隔内处理音频任 务。如本文所使用,短语“音频帧”指代时间块或对应数目的时钟或计数器循环。音频帧可 为在其间处理音频任务的参考间隔。参考间隔可选择为等于10毫秒(ms)间隔。参考间隔针对以取样速率48KHz操作 的装置可具有480个样本。所属领域的一般技术人员将认识到,音频波形可以不同速率取 样,一个此取样速率可为48Khz。处理器处理一个音频任务的所需最大循环数目将在本文中 称为最大循环。最大循环实质上为参考间隔时间,其转换为循环。此值在以下等式5中计笪弁。最大循环=(时钟频率)χ (参考间隔)(等式5)其中时钟频率=19. 2MHz的样本计算给出最大循环=(19.2MHz)x(10 毫秒)=192,000 个循环处理器610可从音频存储装置605读取数据并向音频存储装置605写入数据。另 外,处理器610可从存储器单元615读取数据并向存储器单元615写入数据。作为一实例, 处理器610可从音频存储装置605读取MIDI文件并向存储器单元615写入MIDI文件。针 对每一音频帧,处理器610可检索MIDI文件中的一者或一者以上并解析MIDI文件以提取 一个或一个以上MIDI指令。MIDI指令包括包含需要处理的MIDI语音的各种参数。MIDI指 令参数可指令特定MIDI语音开始或停止,涉及触后效应、呼吸控制效应、程序改变、音高折 曲效应、控制消息(例如镜头左转或右转)、延音踏板效应、主音量控制、系统消息(例如,定时参数)、照明效应提示和/或其它声音影响。“语音”或“MIDI语音”可为任何特定声音。基于MIDI指令的定时,第一处理器610调度MIDI指令以由第二处理器630处理。 第一处理器610可将MIDI指令的调度提供到存储器单元615以由第二处理器630存取,使 得第二处理器630可处理MIDI指令。或者,第一处理器610可通过以时间同步方式将MIDI 指令直接分派到第二处理器630而执行调度。在示范性模型中,第一处理器610处理合成 脉冲代码调制(PCM)的音频样本并将其存储在存储器单元650中。数/模转换器(DAC) 625 从650取得PCM样本并将样本播出到扬声器640。第二处理器630根据第一处理器610创建的调度而处理MIDI指令。然而,第二处 理器630还可具有可需要在执行MIDI指令之前处理的其它较高优先级任务,且因此音频任 务的处理花费的时间可比最大循环或参考间隔长。这些类型的中断可致使将来音频任务也 超过最大循环或参考间隔。第一处理器610可利用调度下一或将来音频任务的方法使得将 来音频任务的处理花费的时间不会比最大循环或参考间隔长。作为一说明,这可通过减少 所处理的语音数目来实现。减少的语音数目与当处理先前音频任务时所超过的循环数目成 比例。这在等式12的上下文中进一步论述。图7说明音频任务710的示范性处理,以及当例如任务N 700或任务N+1705等较 高优先级任务中断当前正执行的音频任务时中断音频处理。音频任务710可在下文论述的 计算中利用任务负载(等式4),以辅助调度下一帧中音频任务的处理。为了合成较高数目的MIDI语音以获得丰富的声音质量,需要单一音频任务的处 理在一个参考间隔420内完成。在音频处理中断以处理其它较高优先级任务的周期期间, 音频任务的处理可能不会在最大循环或参考间隔内完成,而可继续经处理进入后续参考间 隔。为了使此额外时间偏移,可从待处理的下一音频任务中减少语音数目,使得下一音频任 务较可能在参考间隔内完成处理。所属领域的一般技术人员将了解,在不脱离此示范性实 施例的精神和范围的情况下,此实施例可用于从任何将来音频任务中减少语音数目。可建立针对将来音频任务的调度参数。即,如果当前音频任务的处理超过参考间 隔或最大循环,即如果存在进入下一参考间隔的处理“遗留”(carry-over),那么下一音频 任务或将来音频任务中处理的语音数目可减少。本文中,术语“遗留”用于指示音频任务已 超过最大循环的循环数目。然而,本文中,“遗留”还可指示当音频任务在到达最大循环之前 完成处理时可用的循环数目。在其它时间,“遗留”值可为零,例如在采用此方法的装置通电 后。通电通常意味着音频应用可能花费一些时间到达稳定状态。“遗留”值在音频任务在与 最大循环周期相同数目的循环内经处理时也可为零。为了确定遗留循环,可从如等式6所示音频任务处理所花费的实际循环数目减去 最大循环,其中可使用等式5计算最大循环值。实际循环是完成处理音频任务所花费的循 环总数(包含中断时间)。所属领域的一般技术人员将了解,可通过将时间单位乘以计数器 或时钟频率而将时间单位转换为循环,且可通过将循环数目乘以计数器或时钟频率的倒数 而将循环单位转换为时间单位。因此,中断时间是音频任务的处理被中断同时处理器处理 其它任务的时间或等效循环数目。所属领域的一般技术人员还将了解,在不脱离此示范性 实施例的精神的情况下,可通过其它方法确定遗留循环。举例来说,还可通过修改等式6来 计算遗留循环,即通过从最大循环中减去实际循环。出于清晰的目的,本文献中将使用等式 6。10
遗留循环=实际循环-最大循环(等式6)作为一实例,可通过利用自由运行计数器225来测量给定音频任务的处理起点和 终点并通过取其间的差来确定实际循环。此概念在等式7中说明。所属领域的一般技术人 员将了解其它在不脱离此示范性实施例的精神的情况下测量实际循环的方法。实际循环=Tprocesssing_end-Tprocessing_start (等式7)其中最大循环=192,000个循环且音频任务的实际循环为M9,600个循环或13毫秒的样本计算给出遗留循环=249,600个循环-192,000个循环=57,600个循环在等式6的上下文中,当遗留循环值为零或小于零时,音频任务的处理尚未超过 最大循环,且因此可处理下一音频任务或将来音频任务,而不减少用于处理的语音或可减 少用于处理的语音。当遗留循环值大于零时,用于处理音频任务的循环数目已超过参考间 隔420或对应的最大循环,且可从下一或将来音频处理中减少语音,使得所述音频任务的 处理较可能在其参考间隔或最大循环内完成。如果遗留大于零,即如果当前任务花费比由参考间隔420或最大循环界定的周期 长的时间来执行,那么当处理下一或将来音频任务时将减少的语音数目可使用来自当前任 务的参数计算或调度。为了确定可用于处理下一或将来音频任务的循环数目,来自当前音 频任务的某些参数可被减去或加到下一或将来音频任务的最大循环的值。这些参数包含处 理器处理比音频任务高的优先级的任务所花费的时间或循环数目,以及遗留循环。本文中, 处理器处理除音频任务以外的任务所花费的循环数目将称为“其它任务”。等式8说明可用 于处理下一音频任务或将来音频任务的循环数目。可用循环数目=最大循环-其它任务-遗留循环(等式8)计算其它任务的示范性说明是从实际循环中减去如等式7中给出的遗留循环,以 及如等式3中给出的经累加任务执行循环。所属领域的一般技术人员将认识到在不脱离此 示范性实施例的精神的情况下确定其它任务的其它方法。其它任务=实际循环-遗留循环-经累加任务执行循环(等式9)所属领域的一般技术人员将了解,等式8和9可简化为等式10。可用循环数目=最大循环-实际循环+经累加任务执行循环(等式10)针对下一或将来音频任务可支持的语音数目(本文称为“最大语音计数”)等于下 一或将来音频任务的可用循环数目乘以语音计数除以处理器合成或解码先前音频任务所 花费的循环数目的商。此概念在等式11中说明。参数“语音计数”可包含在音频任务中。 参数“tsynth”可由任何计数器针对给定音频任务从语音合成开始的时间到语音合成完成的 时间测量。最大语音计数=可用循环数目x(语音计数/tsynth)等式11如先前所论述,可计算从处理负载减少的语音数目。减少的语音数目与当处理前 一音频任务时超过的循环数目成比例。举例来说,为了计算减少的语音数目,可将遗留循环 乘以语音计数除以tsynth的商。一般技术人员将了解,可将上文提及的计算的结果上舍 入,使得语音的总数减少。减少的语音数目=遗留循环χ (语音计数/tsynth)等式12图9是说明调度音频任务的方法的流程图。检索910参考间隔。如先前所论述,参考间隔可经由软件或硬件来存储和配置。并且,参考间隔可经配置为提供准确累加任务 执行循环的分辨率的值。计算920用以处理音频任务的实际循环数目与参考间隔中的循环 数目之间的差。计算用以处理音频任务的实际循环数目与参考间隔中的循环数目之间的差 的示范性说明见等式6中,其中计算遗留循环。所计算的差(例如,遗留循环)可用于确定 将来音频任务的调度参数930。举例来说,如果用以处理当前帧中的音频任务的实际循环数 目大于在参考间隔中的循环数目,那么待在将来音频任务中处理的语音数目可减少。所属领域的一般技术人员将了解,用于调度音频任务的方法可应用于选自由以下 各项组成的群组的电子装置中机顶盒、音乐播放器、视频播放器、娱乐单元、导航装置、通 信装置、个人数字助理(PDA)、固定位置数据单元和计算机,调度音频任务的方法集成到所 述电子装置中。本文揭示的方法、方案和技术的实施方案还可作为可由包含逻辑元件(例如,处 理器、微处理器、微控制器,或其它有限状态机)的阵列的机器读取和/或执行的一个或一 个以上指令集而有形地体现(例如,在如本文列举的一个或一个以上计算机可读媒体中)。 在一个或一个以上示范性实施例中,本文描述的操作可以硬件、软件、固件或其任何组合来 实施。如果以软件实施,那么此类操作可作为一个或一个以上指令或代码而存储在计算机 可读媒体上或经由计算机可读媒体发射。术语“计算机可读媒体”包含计算机存储媒体和 通信媒体两者,所述通信媒体包含促进将计算机程序从一个位置传送到另一位置的任何媒 体。存储媒体可为可由计算机存取的任何可用媒体。以实例而非限制的方式,此类计算机 可读媒体可包括存储元件的阵列,例如半导体存储器(其可包含而不限于动态或静态RAM、 ROM、EEPROM和/或快闪RAM),或铁电、磁阻、双向开关半导体、聚合物或相变存储器;CD-ROM 或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或任何其它可用于存储呈指令 或数据结构的形式的所需程序代码且可通过计算机存取的媒体。如本文所使用的磁盘与光 盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘和蓝光光盘 TM(蓝光光盘协会,加州环球影城),其中磁盘通常以磁性方式再生数据,而光盘以光学方 式用激光再生数据。上述各项的组合也应包含于计算机可读媒体的范围内。1权利要求
1.一种确定任务负载的方法,其包括在任务执行之前从自由运行计数器读取第一计数值;在所述任务停止运行之后从所述自由运行计数器读取第二计数值;实时取得所述第一计数值与所述第二计数值之间的差;使用累加器在参考间隔内累加所述第一计数值与所述第二计数值之间的差;以及将所述经累加的差除以所述参考间隔。
2.根据权利要求1所述的方法,其中将所述参考间隔配置为等于或小于所述自由运行 计数器的周期乘以所述累加器的最大计数值的值。
3.根据权利要求1所述的方法,其中将所述确定的任务负载应用于选自由以下各项组 成的群组的电子装置中机顶盒、音乐播放器、视频播放器、娱乐单元、导航装置、通信装置、 个人数字助理(PDA)、固定位置数据单元和计算机,所述确定所述任务负载的方法集成到所 述电子装置中。
4.一种用于调度音频任务的方法,其包括检索在其间处理音频任务的参考间隔;计算用以处理所述音频任务的实际循环数目与所述参考间隔中的循环数目之间的差;以及调度针对将来音频任务的参数。
5.根据权利要求4所述的方法,其进一步包括基于所述音频任务的任务负载且基于用以处理所述音频任务的所述实际循环数目来 计算可用于处理所述将来音频任务的循环数目。
6.根据权利要求4所述的方法,其进一步包括通过可用循环数目计算可用于处理所述 将来音频任务的循环数目。
7.根据权利要求4所述的方法,其中所述调度参数是音频帧中的合成语音参数。
8.根据权利要求4所述的方法,其中所述参考间隔可经由硬件或软件配置。
9.根据权利要求4所述的方法,其中所述调度包括与当前音频任务中所处理的相比处 理所述将来音频任务的较少音频任务循环。
10.根据权利要求4所述的方法,其中所述调度包括相对于所述当前音频任务处理所 述将来音频任务的相等或较大数目的音频任务循环。
11.根据权利要求4所述的方法,其中所述用于调度音频任务的方法应用于选自由以 下各项组成的群组的电子装置中机顶盒、音乐播放器、视频播放器、娱乐单元、导航装置、 通信装置、个人数字助理(PDA)、固定位置数据单元和计算机,所述调度音频任务的方法集 成到所述电子装置中。
12.—种设备,其包括处理器,其用于计算用以处理音频任务的实际时间与参考间隔中的循环数目之间的差 并基于所述计算的差调度将来音频任务;存储器,其用于存储调度参数;以及自由运行计数器,其用以将至少两个计数值提供到所述处理器以计算所述音频任务的 所述实际时间。
13.根据权利要求12所述的设备,其中所述处理器经配置以运行实时计算系统。
14.根据权利要求12所述的设备,其中所述用以处理所述音频任务的实际时间基于一 个或一个以上任务执行时间和处理一个或一个以上其它任务所花费的时间。
15.根据权利要求12所述的设备,其中所述调度的音频任务循环相对于当前音频任务 针对将来音频任务较少。
16.根据权利要求12所述的设备,其中所述调度的音频任务循环相对于所述当前音频 任务针对所述将来音频任务为相等或较大数目的循环。
17.根据权利要求12所述的设备,其并入到选自由以下各项组成的群组的装置中音 乐播放器、视频播放器、娱乐单元、导航装置、通信装置、个人数字助理(PDA)、固定位置数据 单元和计算机。
18.一种设备,其包括用于在任务执行之前从自由运行计数器读取第一计数值的装置;用于在所述任务停止运行之后从所述自由运行计数器读取第二计数值的装置;用于实时取得所述第一计数值与所述第二计数值之间的差的装置;用于使用累加在参考间隔内累加所述第一计数值与所述第二计数值之间的差的装置;以及用于将所述经累加的差除以所述参考间隔的装置。
19.根据权利要求18所述的设备,其中所述参考间隔配置为等于或小于所述自由运行 计数器的周期乘以累加器的最大计数值的值。
20.一种设备,其包括用于检索在其间处理当前帧中的音频任务的参考间隔的装置;用于计算用以处理所述音频任务的实际循环数目与所述参考间隔中的循环数目之间 的差的装置;以及用于调度针对将来音频任务的参数的装置。
21.根据权利要求20所述的设备,其进一步包括用于基于所述音频任务的任务负载且基于用以处理所述音频任务的所述实际循环数 目来计算可用于处理所述将来音频任务的循环数目的装置。
22.根据权利要求20所述的设备,其进一步包括用于通过可用循环数目计算可用于处理所述将来音频任务的循环数目的装置。
23.根据权利要求20所述的设备,其中所述调度参数是音频帧中的合成语音参数。
24.根据权利要求20所述的设备,其中所述参考间隔可经由硬件或软件配置。
25.根据权利要求20所述的设备,其中所述调度包括用于与当前音频任务中所处理的 相比处理所述将来音频任务的较少循环的装置。
26.根据权利要求20所述的设备,其中所述调度包括用于相对于所述当前任务处理所 述将来音频任务的较大数目的音频任务循环的装置。
27.一种计算机可读媒体,其体现可由一个或一个以上处理器执行的指令集,所述计算 机可读媒体包括用于检索在其间处理音频任务的参考间隔的代码;用于计算用以处理所述音频任务的实际循环数目与所述参考间隔中的循环数目之间 的差的代码;以及用于调度针对将来音频任务的参数的代码。
28.根据权利要求27所述的计算机可读媒体,其进一步包括用于基于所述音频任务的任务负载且基于用以处理所述音频任务的所述实际循环数 目来计算可用于处理所述将来音频任务的循环数目的代码。
29.根据权利要求27所述的计算机可读媒体,其进一步包括通过可用循环数目计算可 用于处理所述将来音频任务的循环数目。
30.根据权利要求27所述的计算机可读媒体,其中所述调度参数是音频帧中的合成语 音参数。
31.根据权利要求27所述的计算机可读媒体,其进一步包括用于将所述参考间隔配置为等于或小于自由运行计数器的周期乘以累加器的最大计 数值的值的代码。
32.根据权利要求27所述的计算机可读媒体,其中所述调度包括与当前音频任务中所 处理的相比处理所述将来音频任务的较少音频任务循环。
33.根据权利要求27所述的计算机可读媒体,其中所述调度包括相对于所述当前音频 任务处理所述将来音频任务的相等或较大数目的音频任务循环。
全文摘要
本发明提供一种用于实时确定任务负载的方法。所述方法实时取得任务执行之前来自自由运行计数器的第一计数值与所述任务停止运行之后的第二计数值之间的差。可接着通过使用累加器在参考间隔内累加所述第一计数值与所述第二计数值之间的所述差并将所述和除以可配置参考间隔来确定所述任务负载。实时计算的个别任务负载可用于调度音频任务。
文档编号G06F9/48GK102057356SQ200980121710
公开日2011年5月11日 申请日期2009年6月11日 优先权日2008年6月11日
发明者亚历克斯·广厚·钟, 巴拉姆·沙巴什·钱德拉·亚达夫, 帕鲁丘鲁·拉维·基肖尔 申请人:高通股份有限公司