实时多线程调度器及调度方法技术

技术编号:7132409 阅读:220 留言:0更新日期:2012-04-11 18:40
在特定实施例中,揭示一种包括在第一线程处接收中断的方法,所述第一线程包括在第一时间在处理器处的多个执行线程中的最低优先级线程。所述方法还包括识别第二线程,所述第二线程包括在第二时间在处理器处的多个执行线程中的最低优先级线程。所述方法进一步包括将随后中断指向所述第二线程。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术大体上是针对一种。
技术介绍
技术的进步已产生更小且更强大的计算装置。举例来说,当前存在多种便携式个人计算装置,包括无线计算装置,例如便携式无线电话、个人数字助理(PDA)及寻呼装置, 其体积小、重量轻且易于由用户携带。更具体地说,便携式无线电话(例如,蜂窝式电话及因特网协议(IP)电话)可经由无线网络传送话音及数据包。此外,许多此些无线电话包括并入于其中的其它类型的装置。举例来说,无线电话还可包括数字静态相机、数字摄像机、 数字记录器及音频文件播放器。并且,此些无线电话可处理可执行指令,包括可用以接入因特网的软件应用程序(例如,网络浏览器应用程序)。因而,这些无线电话可包括相当大的计算能力。数字信号处理器(DSP)、图像处理器及其它处理装置常常用于便携式个人计算装置中且结合操作系统而操作。实时操作系统(RTOS)的一个要求是严格的优先级调度。在单个处理器上,所述要求是应调度最高优先级可执行任务。通常,在具有多个中央处理单元 (CPU)的多线程或多处理器系统中,特定任务限于特定硬件线程或CPU,且单处理器调度器算法独立地在每一硬件线程或CPU上运行。此方法并不满足应调度全部最高优先级可执行任务的RTOS约束条件,且所述方法需要提前知晓何硬件线程或CPU将调度所述任务,需要知晓何硬件线程或CPU可能不可用。
技术实现思路
在特定实施例中,揭示一种包括在第一线程处接收中断的方法,所述第一线程包括在第一时间在处理器处的多个执行线程中的最低优先级线程。所述方法还包括识别第二线程,所述第二线程包括在第二时间在处理器处的多个执行线程中的最低优先级线程。所述方法进一步包括将随后中断指向所述第二线程。在另一实施例中,揭示一种包括在一组线程中的第一线程处接收中断的方法,所述组线程中的每一线程执行一组执行任务中的一相应任务。所述组执行任务中的每一任务及一组就绪任务中的每一任务具有一相应优先级。所述方法还包括反复地将所述组执行任务中的最低优先级任务与所述组就绪任务中的最高优先级任务交换,直到所述组执行任务中的每一任务具有大于或等于所述组就绪任务中的每一任务的优先级的优先级。在另一实施例中,揭示一种包括多线程处理器的系统,所述多线程处理器经配置以执行多个线程,使得多个执行线程正运行最高优先级任务。所述多线程处理器经配置以调度任务,使得执行的任务具有至少与所有就绪任务中的最高优先级一样高的优先级。在另一实施例中,揭示一种计算机可读媒体。所述计算机可读媒体含有可执行以致使计算机将中断指向多个执行线程中的最低优先级线程的计算机可执行指令。所述中断指示至少一个任务准备好被执行。所述多个执行线程中的最低优先级线程正执行最低优先5级任务或者为闲置线程。所述多个执行线程中的最低优先级线程接收所述中断,且起始中断例程以从就绪任务列表中选择最高优先级任务。所揭示实施例所提供的一个特定优点为任务是经调度的,使得在减少因中断引起的干扰的情况下执行最高优先级线程。因为低优先级线程接收中断,所以引起重新调度中断在不干扰最高优先级线程的情况下自动地重新调度低优先级线程。另外,外部中断将中断最低优先级线程而不是最高优先级线程。所揭示实施例所提供的另一特定优点为在多个任务准备好执行且多个任务比一个以上运行的任务有更高优先级的情形下,低优先级运行任务以最小数目个交换且在无开销用于其它高优先级任务运行的情况下与新的较高优先级任务交换。所揭示实施例所提供的另一特定优点为可直接将中断处置程序线程的优先级与当前运行的线程的优先级进行比较。如果当前运行的线程具有低于中断处置程序线程的优先级,那么可立即调度所述中断处置程序线程。本专利技术的其它方面、优点及特征将在审阅包括以下部分的完整申请案之后变得明显附图说明具体实施方式及权利要求书。附图说明图1为处理系统的特定说明性实施例的框图;图2为处理系统的另一特定说明性实施例的框图,其展示中断指向最低优先级执行线程;图3为图2的处理系统的特定说明性实施例的框图,其展示任务交换;图4为图2的处理系统的特定说明性实施例的框图,其展示另一中断指向最低优先级执行线程;图5为图2的处理系统的特定说明性实施例的框图,其展示任务从就绪任务列表移动到执行任务列表;图6为图2的处理系统的特定说明性实施例的框图,其展示另一中断指向最低优先级执行线程;图7为图2的处理系统的特定说明性实施例的框图,其展示任务交换;图8为图2的处理系统的特定说明性实施例的框图,其展示另一中断指向最低优先级执行线程;图9为图2的处理系统的特定说明性实施例的框图,其展示任务交换;图IOA到图IOC为在多线程处理器上实时调度任务的方法的第一说明性实施例的流程图;图11为在多线程处理器上实时调度任务的方法的第二说明性实施例的流程图;图12为在多线程处理器上实时调度任务的方法的第三说明性实施例的流程图;图13为在多线程处理器上实时调度任务的方法的第四说明性实施例的流程图; 以及图14为包括实时多线程调度器模块的便携式通信装置的特定实施例的框图。具体实施方式参看图1,描绘处理系统的特定说明性实施例,且概括表示为100。多线程处理器 100包括经由总线接口 108耦合到指令高速缓冲存储器110的存储器102。多线程处理器 100还包括经由总线接口 108耦合到存储器102的数据高速缓冲存储器112。指令高速缓冲存储器Iio经由总线111耦合到定序器114。在特定实例中,定序器114还可接收通用中断116,所述通用中断116可从中断寄存器(未图示)检索。在特定实施例中,指令高速缓冲存储器110可经由多个当前指令寄存器耦合到定序器114,所述多个当前指令寄存器可耦合到总线111并与多线程处理器100的特定线程相关联。在特定实施例中,多线程处理器100为包括六个线程的交错多线程处理器。在特定实施例中,总线111为六十四(64)位总线,且定序器114经配置以经由指令包从存储器102检索指令,所述指令包包括各自具有三十二(3 个位的长度的多个指令。总线111耦合到第一指令执行单元118、第二指令执行单元120、第三指令执行单元122 及第四指令执行单元124。每一指令执行单元118、120、122及IM可经由第二总线1 耦合到通用寄存器堆126。通用寄存器堆1 还可经由第三总线130耦合到定序器114,且耦合到数据高速缓冲存储器112,且耦合到存储器102。多线程处理器100还可包括监督器控制寄存器132,以存储可由控制单元150存取的一个或一个以上优先级设定,所述控制单元150包括实时优先级调度器158及中断控制器156,以确定何任务在处理线程中的每一者上执行。所述实时优先级调度器158可实施为软件例程。每一处理线程可具有一个或一个以上相关联的优先级设定,例如存储在专用于特定线程的监督器状态寄存器处的一个或一个以上位值。在操作期间,多线程处理器100执行多个线程,使得多个执行线程正运行最高优先级任务,其中多线程处理器100调度任务,使得所有执行任务具有至少与所有就绪任务的最高优先级一样高的优先级。在特定实施例中,实时优先级调度器158调度任务,使得所有执行任务具有至少与所有就绪任务的最高优先级一样高的优先级。在特定实施例中,多线程处理器100经配置以使得指向多个执行线程中的本文档来自技高网...

【技术保护点】
1.一种方法,其包含:在第一线程处接收中断,所述第一线程包含在第一时间在处理器处的多个执行线程中的最低优先级线程;识别第二线程,所述第二线程包含在第二时间在处理器处的所述多个执行线程中的最低优先级线程;以及将随后中断指向所述第二线程。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:埃里克·詹姆斯·普隆迪克
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1