低能耗的计算机系统的制作方法

文档序号:6476491阅读:276来源:国知局
专利名称:低能耗的计算机系统的制作方法
技术领域
一般说来,本发明涉及计算机系统,更确切地说,涉及低能耗的计算机系统。
背景技术
近年来,普及设备(PvD)已经变得越来越流行。这些设备的无线性能一直在增强,同时某些任务所需的计算复杂性也在增加。制约普及设备成功的一个主要障碍是能耗,因为典型情况下普及设备都是由电池供电。一般来说,普及设备中的电池可能支持的时间从一小时到一年,这取决于该普及设备的使用。如果普及设备用于语音识别和/或支持高速无线连接,能耗将必然会显著上升。其原因在于,要支持这种任务所需的百万指令每秒(MIPS),需要中高性能的处理单元。遗憾的是,随着性能上升,能效下降。如同在本文中,词语“能效”是指每项任务的焦耳数(JPT)(和其它等价量)。
尽管当前的普及设备能够执行高性能的复杂任务,但是典型的普及设备在大多数时间里是用于执行低性能的任务,比如更新时间寄存器、与无线基站定期交换位置信息、对环境温度进行采样、登录一个GPS位置标记、取回一个地址簿条目、更新屏幕缓冲区、探测小键盘输入等等。以JPT而论,在高性能的处理器上执行这种简单的任务是极为低效的。
因此,为了使处理单元运行在有能源意识的方式下,已经作出了若干努力。例如,某些处理器制造商(参见例如T.R.Halfhill,“Transmeta Breaks x86 Low-Power Barrier”,Microprocesor Report,p.1,Feb.2000和S.Liebson,“Xscale(StrongARM-2)Muscles In”,Microprocesor Report,p.1,Feb.2000)已经生产出了能效更高的处理单元,其中通过协同地改变供电电压和频率,能够调节每个周期的能耗,这也被称为电压缩放(参见例如Brodersen et al.,“Low PowerDigital CMOS Design”,Kluwer Academic Publishers,1995)。不过,对于能够使这些处理单元的运行慢到何种程度,或者更准确地说,能够使供电电压降低到何种程度,存在着若干限制。所以,如果这些处理单元主要是用于执行简单的低性能任务,那么与专门为了执行这些简单任务而设计的处理单元相比,它们仍然会浪费相当多的能源。
另外,某些移动电话和便携无线电制造商(参见例如5,487,181号和5,058,203号美国专利)已经提出,在执行频繁发生的和例行的功能时,使用能效高的专用集成电路(ASIC),使能效较低的主处理器减轻负担。不过,这种降低能耗的方法不适于更一般的和更可配置的、致力为用户提供高度灵活性的计算平台。在高度灵活的计算系统中,用户可以实时改变功能和安装新的特性(如桌面用户范例)。相反,它们是具有特定和有限功能的系统。
所以,无论用户对系统功能的要求如何,对于一般的可配置的计算平台,低能耗仍然是需要的。用户可以下载新的应用程序代码进行评价,随后以能效最高的方式执行。

发明内容
所以,本发明在一般的、高度可配置的计算系统中,降低了能耗。会从本发明受益的某些目标计算系统的实例包括,例如,个人数字助理(PDA)、手持电脑、袖珍电脑、便携电话、膝上电脑、可穿戴电脑等等。另外,本发明尤其适用于为了高度的用户灵活性而设计的计算系统(如用户能够下载新的应用程序、产生其自己的应用程序和/或按其需要定制系统的系统)。
依据本发明的第一方面,提供了一种计算机系统。该计算机系统包括至少两个处理单元,它们具有不同的能效,并且适于至少根据任务的处理需求以及相应的处理能力来执行任务。一种调度器适于调度一项给定的任务,使至少两个处理单元中的一个来执行,使得能耗最小,并且根据给定任务的处理需求以及相应的处理能力,判断出至少两个处理单元中的这一个不能适当地执行时,再次调度该给定任务,使至少两个处理单元中的另一个来执行。
优选情况下,处理需求包括给定任务要完成的一个结束时间。更理想的情况是,该调度器是在这至少两个处理单元以外的一个硬件部件之内包含的一种功能。在一个优选实施例中,这至少两个处理单元中的一个包括该调度器。适当的情况下,该调度器进一步适于截取这至少两个处理单元和外围设备发出的中断信号。
依据本发明的一个优选实施例,这至少两个处理单元共享存储器空间。适当的情况下,这至少两个处理单元共享输入/输出空间。更适当的情况下,这至少两个处理单元共享输入/输出空间,并且该调度器和这至少两个处理单元共享存储器空间。
在一个优选实施例中,计算系统进一步包括一种任务属性存储器,适于存放至少某些计划任务的至少某些处理需求。在一个优选实施例中,或者是由该调度器,或者是由这至少两个处理单元中的一个作出判断。适当的情况下,这至少两个处理单元进一步适于在接受和拒绝要执行的任务二者中作出一项。更适当的情况下,处理需求包括执行给定的任务所需的处理能力。
依据本发明的第二方面,提供了一种计算机系统。该计算机系统包括多个处理单元。这多个处理单元中的每一个都适于执行它们的任务。这多个处理单元中的至少两个具有不同的能效。一种调度器适于调度一项给定的任务,通过以能效下降的部分次序询问多个处理单元,在接受和拒绝执行给定的任务二者中作出一项,直到下列两种情况之一,即给定任务被所述多个处理单元中的一个接受和执行二者之一,给定任务被多个处理单元拒绝,从而使多个处理单元中的一个来执行给定的任务。
优选情况下,所述调度器进一步适于根据至少一种预定的条件,从部分次序中排除所述多个处理单元中的任何一个。
依据本发明的第三方面,提供了一种计算机系统。该计算机系统至少包括两个处理单元,它们具有不同的能效,并且适于根据计划任务的处理需求以及相应的处理能力,在接受和拒绝计划任务二者中作出一项。这至少两个处理单元也适于至少执行接受的计划任务。一种调度器适于调度一项给定的任务,使至少两个处理单元中的一个来执行,使得能耗最小,并且当这至少两个处理单元中的这一个拒绝执行给定的任务时,再次调度该给定任务,使至少两个处理单元中的另一个来执行。
依据本发明的第四方面,提供了一种计算机系统。该计算机系统包括多个处理单元。这多个处理单元中的每一个都适于执行它们的任务。这多个处理单元中的至少两个具有不同的能效。一个处理器属性表适于存放至少这多个处理器中某一些的处理能力信息,并且适于在处理能力信息改变时动态地更新处理能力信息。一种调度器适于对于一项给定的任务,以能效下降的一种部分次序和一种严格次序二者中的一种,从处理器属性表中检索至少某些处理能力信息,直到发现多个处理器中的一个,对于给定任务的任务处理需求具有适当的处理能力。该调度器也适于调度给定的任务,由多个处理器中的一个执行。
更适宜的情况下,所述计算机系统进一步包括至少一个功能块,适于执行与一个中断相关联的至少一种功能。
优选情况下,所述计算机系统进一步包括至少一个功能块,适于执行一项任务使用的至少一种功能。
附图简要说明现在将参考本发明的优选实施例,仅仅通过实例介绍本发明,如以下的附图所示,其中

图1是一幅框图,展示了依据本发明的一个展示性实施例,一个低能耗的计算机系统100;图2是一个表格,展示了依据本发明的一个展示性实施例的一个任务属性列表;图3是一个表格,展示了依据本发明的一个展示性实施例的一个处理器属性列表;图4是一幅流程图,展示了依据本发明的一个展示性实施例的一个调度单元SCH进行的任务调度;以及图5是一幅流程图,展示了依据本发明的一个展示性实施例,由Pj(即处理单元P1或P2)进行的任务处理。
具体实施例方式
本发明旨在具有低能耗的计算机系统。应当理解,在多种形式的硬件、软件、固件、专用处理单元或者它们的组合中,都可以实施本发明。优选情况下,本发明实施为以既有硬件又有软件的组合。软件可以实施为一台程序存储设备中确实地包含的一个应用程序。该应用程序可以上传到一台包括任何适宜架构的机器,并由该机器执行。优选情况下,该机器是在一个电脑平台上实现的,该平台具有的硬件如中央处理器(CPU)、随机采取存储器(RAM)和输入/输出(I/O)接口。该电脑平台也可以包括一种操作系统和/或微指令代码。本文介绍的多种过程和功能,可以或者是微指令代码的一部分,或者是应用程序的一部分(或者是它们的一种组合),通过操作系统来执行。此外,多种其它的外围设备可以连接到该电脑平台,比如附加的数据存储设备和一台打印设备。
应当进一步理解,因为附图中描述的某些系统组成部件和方法步骤可以在软件中实现,所以系统部件(或过程步骤)之间的实际连接可能不同,这取决于对本发明编程的方式。
为了便于清楚地理解本发明,现在将要给出本文中使用的术语的定义。术语“处理单元”定义为一个微处理器、一个微控制器、一个数字信号处理器或者能够执行指令的其它器件。也可以使用上述元件的任何组合。同样,术语“功能块”定义为数字或混合信号电路,能够执行一种或多种功能,但是不能执行指令;不仅如此,功能块的功能也不能改变。专用集成电路(ASIC)、快速富氏变换(FFT)或组合电路都被视为本发明所用的功能块。应当承认,一个处理单元不能是一个功能单元,一个功能单元也不能是一个处理单元。另外,术语“任务”定义为一个代码段,它与其它任务同时或者单独地独立执行。使用这种定义,例如应用程序、线程、中断服务例程和操作系统核心都可以视为任务。
图1是一幅框图,展示了低能耗的一个计算机系统100,依据本发明的一个展示性实施例。计算机系统100包括两个处理单元P1和P2(后文中也一般地称为“处理单元Pj),以及一个调度单元SCH。P1和P2执行任务。P1是能效最大的处理单元,但是计算性能低。P2是能效最小的处理单元,但是计算性能高。来自I/O空间和来自这两个处理单元的所有中断信号都送到SCH。MEM是存储器空间,I/O是I/O空间。BUSP1、BUSP2、BUSMEM和BUSI/O分别是调度器至P1的总线、调度器至P2的总线、存储器总线和I/O总线。BCMEM和BCI/O分别是存储器总线控制器和I/O总线控制器。在本发明的一个优选实施例中,处理单元P1和P2同时执行,在每个处理单元上都有一个多任务操作系统在运行。
虽然在图1的展示性实施例中SCH实现为一个单独的功能块,但是应当承认,SCH的功能也可以实现为其它处理单元(如P1和/或P2)的一部分、软件程序或者它们的一种组合。例如,SCH可以实现为一个硬件组件(如任何功能块或者处理单元)之内的一个函数(软件、逻辑组件的系列等等)。
现在将简要介绍计算机系统100的操作。SCH截取所有的中断信号,对中断决定一个任务标识号(TID),然后与处理单元P1和P2协商任务的执行——选择能耗最低的处理单元来执行,并以及时的方式完成任务。为了使SCH和Pj之间进行这样一种协商,应当知晓当前任务有关的某些特定的特征。在一个任务属性列表中,提供了这些特征以及与任务相关的其它信息。图2是一个表格,展示了一个依据本发明的任务属性列表。在中断时检索特定的任务属性,是SCH的责任。下面将参考图2,进一步详细介绍所示的展示性任务属性。
TID是当前任务的任务标识号。NP是能够执行该任务的处理单元数目。PTID,1是能够执行该任务的、能效最大的处理单元的ID。CPSTID,1是在最不利的情况下,以及时的方式运行该任务所需的处理单元的周期数目。ADDRTID,1是该任务的位置地址。PTID,i是能够执行该任务的、能效第i大的处理单元,其中1≤i≤NP。CPSTID,i是在最不利的情况下,以及时的方式运行该任务所需的处理单元的周期数目。ADDRTID,i是该任务的位置地址。PTID,NP是能够执行该任务的NP个处理单元中,能效最小的处理单元。CPSTID,NP是在最不利的情况下,以及时的方式运行该任务所需的处理单元的周期数目。ADDRTID,NP是该任务的位置地址。注意,如果处理单元并非同样的架构,对于每个处理单元,原则上ADDR可以不同。例如,两个不同的处理单元具有不同的指令集,以及/或者一个处理单元具有32位架构而另一个处理单元具有8位架构,这样的情况并非罕见。
应当强调,CPS表示了最不利情况下的一个数值。例如,假设用户启动了一个DateBook应用程序,它列出了许多DateBook条目。相应的任务将会忙碌一秒左右,然后它将处于空闲模式,此时在显示屏幕上可见到条目的DateBook列表。然后,用户选择一个条目,以获得更详细的信息。然后该任务从数据库取回信息,在显示屏幕上显示该信息,并且返回空闲模式。所以,能够介绍CPS与这样一项任务的关系如下CPS表示了对于该任务,响应用户的输入请求、从数据库取回信息以及最后在显示屏幕上显示该信息的过程中,处理单元的必要速度性能。不过,对于大多数时间,该任务处于空闲模式。
按照属性列表中列出的处理单元的次序,SCH将与处理单元P1和P2协商。因此,对于图2中的展示性任务属性列表,SCH将与能效最大的处理单元PTID,1协商。然后PTID,1将快速确定,在给定的所需周期每秒CPS的约束下,它是否能够处理当前的任务。然后PTID,1将或者接受或者拒绝该任务。如果PTID,1拒绝了该任务,或者在一段时间之后,PTID,1确定它将不能按时完成该任务,那么PTID,1将向SCH发出中断信号。然后,SCH将尝试属性列表中的下一个处理单元(与之协商),直到列出的处理单元之一接受该任务,或者直到所有列出的处理单元都已经尝试过。
应当承认,任务属性列表旨在使接受/拒绝的判断,能够基于要执行的给定任务的处理需求,以及要执行该给定任务之处理器的处理性能。处理需求可能包括例如执行该任务所需的最小处理能力、必须完成该任务的截止时间、数据路径的特定数位宽度等等。处理能力可能包括当前可用的处理能力、数据路径的当前数位宽度等等。
进一步应当承认,一个给定处理器是否能够执行一项给定任务的实际判断,可能由向其询问以接受该任务的处理器作出,或者由SCH作出。作出这种判断,最好是基于该任务的处理需求和该处理器的处理能力,处理需求在任务属性列表中描述,处理能力或者是仅仅由处理器才可访问,或者也可以由调度器从共享的处理器属性列表访问。图3是一个表格,展示了适于SCH访问的一个处理器属性列表。在图3中,N是处理单元的数目,CPSj是处理器j的当前可用最大处理能力,其中1≤j≤N。或者在处理器接受一项新任务之时,或者在它们停止一项任务之时,处理器属性列表必须由各个处理器动态更新,使得属性列表中的数值表示各个处理器的接近瞬时处理能力。当然,某些处理需求和/或处理能力也可以存储在任务属性列表和处理器属性列表以外的存储结构中,以便将来引用。
为了便于理解,对中断信号施加以下的假定/条件。SCH每次处理一个I/O中断信号。一个I/O中断信号不能先占另一个I/O中断信号的处理过程,一个I/O中断信号也不能先占一个处理器中断信号的处理过程。I/O中断信号按收到的次序排队。处理器中断信号比I/O中断信号的优先级高。
图4是一幅流程图,展示了依据本发明的、SCH进行的任务调度。收到一个中断信号之后,就确定其种类(步骤310)。如果该中断信号是一个I/O中断信号,那么它就按照其到达的次序排队(步骤315)。
然后确定SCH的状态是否空闲(步骤316)。如果不是(也就是如果SCH的状态是忙碌),那么SCH进入等待模式(步骤317)。在等待模式下,SCH不能服务于其它的I/O中断信号,尽管SCH确实允许I/O中断信号排队,如同以上对于步骤315的介绍。不过,如果SCH处于空闲状态,那么SCH就进而检索队列中的下一个中断信号(步骤318),默认情况下它将是刚刚收到的I/O中断信号。下一步,进入忙碌状态(步骤319)。
SCH通过询问一个中断矢量表,确定该中断信号的任务属性列表地址(步骤320)。然后检索该任务的任务属性(步骤325)。然后,SCH向属性列表中列出的第一个处理单元发出一个请求,接受或者拒绝与当前I/O中断信号相关联的任务(带有任务的IDTID)(步骤330)。在步骤319至330期间,SCH处于忙碌状态。执行了步骤330之后,SCH进入等待模式(步骤317)。基本上,SCH处于等待模式时,SCH就是等待当前的处理单元回答它是要接受还是要拒绝与当前I/O中断信号相关联的任务(带有任务的IDTID)。
通过产生一个处理器中断信号,如上所述,它的优先级高于I/O中断信号,当前的处理单元回答SCH。因此,确定了收到的中断信号的种类是处理器中断信号(步骤310)之后,就立即处理这个处理器中断信号。SCH询问处理单元PTID,i的中断信号函数IF_Accept(步骤340)。如果该处理单元已经接受了该任务,中断信号函数IF_Accept就返回布尔值“真”,如果该处理单元已经拒绝了该任务,就返回布尔值“假”。然后确定中断信号函数IF_Accept返回的布尔值是“真”还是“假”。
如果IF_Accept是“真”,那么SCH返回空闲状态(步骤352)。下一步,SCH检验队列中是否还有更多的I/O中断信号(步骤360)。如果队列中没有更多的I/O中断信号,那么SCH就进入就绪模式——它仅仅是等待另一个I/O中断信号(步骤361)。否则,如果有更多的中断信号,那么本方法就返回步骤318——检索队列中的下一个I/O中断信号。
如果IF_Accept是“假”,那么i的值增加1(步骤355),并且本方法返回步骤330(所以SCH能够向属性列表中列出的下一个处理单元发出一个请求,接受或者拒绝与当前I/O中断信号相关联的任务(带有任务的IDTID))。
图5是一幅流程图,展示了Pj(即处理单元P1或P2)进行的任务处理。为了便于理解,作出某些特定的假设如下。一个处理单元可以由两种方式被中断由SCH和由处理器的本机OS计时器。来自SCH的中断信号始终是立即得到服务。计时器中断信号也是始终是立即得到服务,除非处理单元Pj正在服务于来自SCH的一个中断信号。SCH中断信号的服务时间比OS计时器的中断间隔T快得多。OS代码是本地存放的,也就是OS不在共享存储器空间MEM中。
回头参考图4,可见SCH每次处理一个I/O中断信号源,而且该中断信号使SCH以顺序方式,与一个或多个处理单元协商。因此,SCH每次与一个处理单元协商,所以在任何给定的时刻,最多有一个来自SCH的中断信号由处理单元之一进行服务。来自SCH的中断信号绝不可能在一个处理单元中排队,因为在一个处理单元已经完成了来自SCH的当前中断信号的服务之前,SCH不能发出另一个中断信号。
现在将简要介绍Pj中的任务接纳,然后是针对图5的更详细的介绍。处理单元Pj收到一个中断信号时,处理单元Pj首先确定该中断信号的来源(换句话说,是来自SCH还是来自处理单元Pj的的本机OS计时器)。如果该中断信号是SCH中断信号,那么处理单元Pj在本地存储器中保存当前的状态,并为该中断信号服务。因此,来自SCH的中断信号可以先占任何其它的当前正在执行的任务。从SCH中断任务返回之后,处理单元Pj恢复被先占任务的执行。处理单元Pj正在对一个SCH中断信号服务时,中断信号被禁用。如果正在对该SCH中断信号服务时确实出现了一个计时器中断信号,那么在该SCH中断信号的服务完成之前,不会对计时器中断信号服务。
返回图5,处理单元Pj收到一个中断信号时,它首先确定该中断信号的来源(步骤410)。收到一个SCH中断信号之后,处理单元Pj禁用中断信号,并且保存当前的程序环境(步骤415)。然后,处理单元Pj将检索TID接纳检验所需的有关TID属性(步骤420)。有关的TID属性包括与Pj相关联的CPS处理需求。SCH可以通过一个共享的缓冲区,把任务属性表的地址传递给该处理单元(如图4中的步骤325)。然后进行TID接纳检验(步骤425)。通过例如使用下文中详细介绍的公式1,就可以进行TID接纳检验。然后确定接纳检验的结果是拒绝该TID还是接受(步骤430)。如果结果是接受,那么对该TID进行登记,把任务指针ADDR插入计时器链,为该TID分配一个时间片(步骤435),本方法进至步骤440。否则,本方法直接进至步骤440。
在步骤440,通过中断SCH并把布尔结果放在一个SCH能够访问的共享缓冲区中,通知SCH接纳检验的结果(即处理单元Pj的判断)。然后,处理单元Pj使中断再次可用,并且恢复任务环境(步骤445)。
对于在步骤435中分配一个时间片,同样是基于(在步骤420中检索的)任务所需的计算能力(CPS)以及基于处理单元Pj的当前负载来计算。为了展示的目的,计算时间片的一种方法显示在后文中将介绍的公式2中。
如果在步骤410确定了收到的中断信号是一个计时器中断信号,那么就保存当前任务的环境(步骤450),加载计时器链中的下一项任务(步骤475),并且本机计时器编程为按照下一项任务分配的时间片进行中断(步骤480)。因此,以顺序的方式执行登记的任务。已经执行了计时器链中最后一项任务时,计时器编程为在下一个主计时器间隔T进行中断,任务是以该间隔定期地加载执行。注意,如果需要,任何登记的任务都可以放入休眠模式(例如假若用户不在使用一个应用程序),因此从计时器链中暂时取出,以便使处理器尽可能多地进入睡眠模式以节省能源。
CPSTIDK+1≤CPSCLK-CPSOS-CPSSCH-Σk≤KCPSTIDk---(1)]]>对于步骤425的接纳检验,考虑一个处理单元Pj,它当前有K项任务在其中执行。现在考虑一个新的任务TIDK+1,SCH把它发送到Pj来执行。从新的任务属性列表可以看到,TIDK+1需要至少CPSTIDK+1的计算能力。因此,对于Pj要接纳的新任务TIDK+1,公式1中的表达式必须满足,其中TIDCLK是该处理单元的时钟频率,CPSOS是为该操作系统分配的CPS,CPSSCH是为了与SCH交互而分配的CPS(也就是接纳例程消耗这项分配的一部分),CPSTIDk是为当前在Pj上执行的第k项任务分配的CPS。注意,公式1中的所有参数都是特定于Pj的,已经省去了“Pj”下标。
应当注意,在许多情况下,确定一项任务所需的CPS将是基于规划者的经验。确定一项任务所需的CPS的一种方法,是在目标处理单元上启动该任务,其中也有一个所谓的节流阀任务在运行,其CPS能够调节。首先,对该任务提供最大的CPS,换句话说,CPSmax=CPSCLK-CPSOS-CPSSCH-CPSTHROTTLE(=0)。然后,规划者逐渐增加节流阀CPS,因此减小当前任务可用的CPS。以这种方式,规划者就能够确定何时新任务不再以令人满意的方式运行。
对于任务时间片,再次考虑一个处理单元Pj,它有K项任务在其中执行。现在考虑一个新的任务TIDK+1,SCH把它发送到Pj来执行。进一步假设每项任务TIDk都是以主计时间隔T执行,该间隔是由本机OS管理,由本机计时器的恰当安排而提供。现在假设Pj接纳了该任务,就将按照公式2,为新的任务TIDK+1分配时间片ΔTIDK+1。
ΔTK+1=CPSTIDK+1CPSCLK·T----(2)]]>应当承认,本发明的实施方式可以是被调度以执行一项任务的处理单元并不是耗能最少的处理单元,而是第二少、第三少等等。换句话说,虽然最终目标确实是选择能效最大的处理单元,但是为了多种原因也可以选择能效“邻近”的其它处理单元,正如相关领域中的普通技术人员之一所易于确定的。例如,能效最大的处理单元正忙于处理另一项任务,或者由于调度的原因,值得使用能效第二、第三或第N的处理单元。因此,可以根据能效下降的部分次序,询问处理单元是接受一项给定的任务以执行还是拒绝。部分次序意味着,某些处理单元可以不按能效的次序选择,可以完全不考虑,或者它们的任何组合。有了本文提供的本发明的教导,相关领域中的普通技术人员之一可期待针对低能耗之任务调度的这些和其它的变化、修改和延伸,同时保持本发明的范围。
进一步应当承认,本文描述的处理单元可以是例如微处理器、微控制器、数字信号处理器(DSP)或者能够执行指令的任何其它器件。不仅如此,以上元件的任何组合都可以采用。
更进一步应当承认,处理单元执行调度器调度的任务以及可能不是调度器调度的其它任务。
权利要求
1.一种计算机系统,包括至少两个处理单元,它们具有不同的能效,并且适于至少根据任务的处理需求以及相应的处理能力来执行任务;以及一种调度器,适于调度一项给定的任务,由所述至少两个处理单元中的一个来执行,使得能耗最小,并且根据给定任务的处理需求以及相应的处理能力,判断出所述至少两个处理单元中的所述那一个不能适当地执行时,再次调度该给定任务,使所述至少两个处理单元中的另一个来执行。
2.根据权利要求1要求的计算机系统,其中所述调度器适于调度一项给定的任务,通过以能效下降的部分次序询问所述至少两个处理单元,在接受和拒绝执行给定的任务二者中作出一项,直到下列两种情况之一,即给定任务被所述至少两个处理单元中的所述那一个接受和执行二者之一,给定任务被至少两个处理单元的另一个拒绝,从而使所述至少两个处理单元中的一个来执行给定的任务。
3.根据权利要求2的计算机系统,其中所述调度器进一步适于根据至少一种预定的条件,从部分次序中排除所述至少两个处理单元中的任何一个。
4.根据以上任何权利要求的计算机系统,进一步包括一个处理器属性表,适于存放所述至少两个处理器中至少一个的处理能力信息,并且适于在处理能力信息改变时动态地更新处理能力信息。
5.根据权利要求4的计算机系统,其中所述调度器适于对于一项给定的任务,以能效下降的一种部分次序和一种严格次序二者中的一种,从处理器属性表中检索至少某些处理能力信息,直到发现至少两个处理器中的一个,对于给定任务的任务处理需求具有适当的处理能力,以及调度给定的任务,由至少两个处理器中的所述那一个执行。
6.根据以上任何权利要求的计算机系统,其中所述调度器进一步适于截取来自所述至少两个处理单元和外围设备的中断信号。
7.根据以上任何权利要求的计算机系统,进一步包括一个任务属性表,适于存放至少某些被调度任务的至少某些处理需求。
8.根据以上任何权利要求的计算机系统,其中处理需求包括一个要完成给定任务的结束时间。
9.根据以上任何权利要求的计算机系统,其中由所述调度器作出决定。
10.根据权利要求1至8中任何一条要求的计算机系统,其中由所述至少若干处理单元的所述那一个作出决定。
全文摘要
通过加入两个或更多不同能效和不同处理能力的处理单元,降低了计算机系统的能耗。一个调度器截取来自I/O空间的中断信号,确定该中断信号至一项任务,对该任务检索能耗和性能属性,并且调度该任务在处理单元上执行,使得该任务将消耗最少的能源,同时以及时的方式执行。
文档编号G06F1/32GK1596392SQ01821310
公开日2005年3月16日 申请日期2001年12月21日 优先权日2001年1月5日
发明者刘易斯·默罗, 克劳斯·奥尔森 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1