改进有限资源利用的方法和装置 本发明涉及处理器利用,确切涉及便携电子装置中的处理器利用。
电池寿命是便携电子装置的一个重要品质因素,它规定了电池需要更换的次数。除了更换电池的经济因素以外,用户将这种品质因素与方便程度联系在一起。为此,希望便携电子装置的电池寿命最佳化,以便提供电池可用功率的最佳利用率。
绝大多数的便携电子装置都使用执行预定指令程序的处理器来执行各种操作。鉴此,常规的便携电子装置包括用于存储预定指令程序的一个存储器和由时钟信号驱动执行该预定指令程序的一个微处理器。在本技术领域中已规定处理器的耗用电流与处理器利用率成正比,该处理器利用率又与时钟信号的频率成正比。据此,业已开发了减少耗用电流、由此节省功率的各种方法。这些方法根据不同的操作方式通过控制时钟信号的频率减少该耗用电流。在便携电子装置中采用的一种常规方法是当一种或多种应用是现用时提供最大的处理器利用率。这是通过将该时钟信号的频率设定到一个较高的频率实现的。当没有任何应用是现用时,该时钟信号的频率被设定在一个较低的频率,由此减少处理器的耗用电流。这种方法的缺点是,多个应用中的每一种都要求不同数量的处理器利用率,但时钟信号除外,因而处理器利用率地等级只能设定在或者高、或者低的等级上。结果,一种应用需要低等级处理器利用率,但被提供了高等级处理器利用,这造成了功率的无效使用。例如,在一种支持选呼接收机(需要10%的处理器利用率)和手写识别应用(需要100%的处理器利用率)的便携电子装置中,由时钟驱动的处理器为这两种应用提供100%的处理器利用率,结果造成了有限电池功率的无效使用。
据此,现在需要一种在便携电子装置中改进有限电池功率利用率的方法和装置,其中按照执行该应用所需的资源量提供执行该应用的资源量。
在按一种形式实现本发明目的时,提供了一种在便携电子装置中改进有限资源利用率的方法,其中一个处理器连接到多个可编程资源分配器(PRA),所述可编程资源分配器根据资源利用率输入(RUI)提供相应多个有限资源的每一个资源的一个可编程部分,和其中该处理器使用来自所述多个PRA的该多个有限资源的每个资源的编程部分,执行一个任务,该方法包括以下步骤:从存储器中检索RUI和一个任务;根据该RUI对多个PRA的每个PRA编程;处理器仅使用来自PRA的且由RUI限定的多个有限资源的编程部分,执行所述任务。
图1示出了根据本发明的优选实施例在便携电子装置中的数据处理系统的方框图。
图2示出了根据本发明所述优选实施例在图1中的数据处理系统的一部分的方框图。
图3示出了根据本发明所述优选实施例描述图2中的数据处理系统的那部分的工作的流程图。
图4示出了根据本发明所述优选实施例进一步描述图2中的数据处理系统的那部分的工作的流程图。
图1示出了根据本发明一个优选实施例在便携电子装置中的数据处理系统20的方框图。数据处理系统20包括中央处理单元(CPU)22、定时器24、通用异步接收器/发送器(UART)模块26、LCD控制模块28、串行外部接口(SPI)32、内部信息总线电路34、系统集成模块(SIM)40、多功能端口42和44、以及端口46和48。
SIM40连接到内部总线电路34并能通过内部总线电路34接收和发送信号到数据处理系统20或数据处理系统20外部的电路。系统存储器30经SIM40耦合到数据处理系统。此外SIM40包括多个可编程资源分配器(PRA),用于为CPU或处理器22提供资源的可编程部分。多功能端口42和44能够接收和发送数据处理系统20外部的信号并连接到内部总线电路34。端口46和48能够接收和发送数据处理系统20外部的信号并连接到内部总线电路34。端口42、44和46是用于发送和接收数据处理系统20外部的信号的多功能并行双向端口,诸如键盘、外部存储器、DSP(数据信号处理器)、调制解调器和类似装置。端口48用于把显示数据发送给LCD显示器49。端口42、44和46可被耦合到集成电路管脚、焊点或其他类型的端子,用于发送和接收数据处理系统20外部的信号。SIM40能够接收和发送到与内部总线电路34连接的任何其他模块的信号。
CPU22连接到内部总线电路34并可接收和发送到与内部总线电路34连接的每个其他模块的信号。CPU22可以经SIM40有选择地接收和发送数据处理系统20外部的信号。该CPU通常负责接收、翻译和执行用于控制数据处理系统的软件指令。UART26连接到内部总线电路34。UART26支持以标准波特率与诸如调制解调器和其他数据处理器的外部装置进行异步串行通信。
SPI32能够接收和发送数据处理系统20外部的信号和经内部总线电路34与其他模块一起工作。SPI32是一个主/从串行外部接口,用于与外部装置通信,诸如模/数转换器、非易失性存储装置和其他数据处理系统。系统存储器30双向地连接到SIM40。系统存储器30是一个常规的存储器单元,它由按行和列排列组织的静态随机存取存储器(RAM)单元和只读存储器(ROM)单元组成的一个矩阵构成。系统存储器30可以是数据处理系统20外部的,或可以是在与数据处理系统20相同的集成电路上。在该所示的实施例中,系统存储器30是一个外部存储器单元。定时器24连接到内部总线电路34,并经该内部总线电路34与数据处理系统22的其他模块通信。LCD控制模块28连接到内部总线电路34。LCD控制模块28提供控制功能,用于刷新与端口48连接的LCD显示屏幕。
图1所示的数据处理系统20的实施例示出了在一族微处理器中的一个特定微处理器。因为在同一族中的微处理器通常具有多个不同的在板上外围设备或模块,图1仅示出了数据处理系统20的一个实施例。数据处理系统20的替换实施例可以具有比图1所示少些、多些或不同的在板上外围设备。
图2示出了数据处理系统20的一部分,它包括CPU或处理器22、系统存储器30和SIM40。处理器22包括诸如在本领域公知的半导体微处理器,在优选实施例中该处理器22是Motorola 68000。系统存储器30包括一个ROM200,存储任务210和任务描述符220和一个RAM230由处理器22使用。此外,ROM200还可以包含需要存储在非易失性存储器中的其他信息。任务210包括被检索或从ROM200读出和由处理器22以一预定程序管理运行因而执行该任务210的指令。任务描述符220包含执行任务210所需的信息和包括一个或多个资源利用率输入(RUI)250,如图3所示。任务描述符220可以包括其他信息,诸如执行任务210所需的各种软件程序的初始化设定和硬件设定等。SIM40包括一个可编程资源分配器(PRA)240,在优选实施例中它是一个功率管理单元(PMU)。在另一实施例中,SIM可以包括用于控制其它资源的其它PRA,该处理器需要它执行任务210。PRA240耦合到处理器22,用于从该处理器22接收RUI205,和响应根据该接收的RUI205向该处理器22提供一个资源的编程部分。如在优选实施例中当PRA240是一个PMU时,该PRA240根据该接收的RUI205向处理器22提供预定数量的时钟脉冲。此外,PRA240能够向处理器22周期地提供该预定数量的时钟脉冲。处理器22使用该预定数量的时钟脉冲执行一个任务,并当接收到该时钟脉冲时有利于仅吸收电流,从而节省功率。
据此,利用本发明,处理器仅提供预定数量的时钟脉冲来执行一个任务,仅当接收到该预定数量的时钟脉冲时,该处理器才有利地吸收电流。现有技术的方法,在执行该任务时,处理器被提供一个连续的时钟脉冲序列,而不考虑该处理器的需要,从而导致了比本发明低的处理器利用率和高的耗用电流。
图4示出了根据本发明的优选实施例描述用于确定处理器执行任务210所需的资源的步骤的流程图。处理过程开始于程序步骤405,PRA240具有一个初始值RUI250。随后,在步骤410,利用来自用初始值RUI250编程的PRA240资源部分执行任务210。在步骤410当确定利用来自用初始值RUI编程的PRA240资源部分最佳地执行了任务210时,将该初始值RUI存储在ROM200中的任务描述符220中。另一方面,在步骤415当确定表示该任务210没有被最佳地执行时在步骤420改变该初始值RUI,以最佳地执行任务210,并在步骤410利用来自用改变的RUI编程的PRA240资源部分执行任务210。然后重复确定步骤415,当确定步骤415表示任务210被最佳地执行时,改变的RUI250被存储在ROM200中的任务描述符220中。在步骤430,交替地改变PRA240的RUI250,以改变的RUI的PRA240编程,在步骤410利用改变的RUI执行任务210和确定是否任务210被最佳地执行的几次重复可能需要确定将存储在ROM200中的任务描述符220中的RUI250。
图5示出了一个描述本发明优选实施例的工作的流程图。处理过程起始于步骤505,处理器22确定任务210是否将被执行。当任务210将被执行时,在步骤510,处理器22从系统存储器30中的ROM检索任务描述符220。在该优选实施例中,处理器22是由事件驱动的,这意味着当需要要执行一个特定任务的事件发生时,该处理器22执行任务。鉴此,一个事件发生,需要处理器22执行任务210。如图4所示,任务210的资源要求预定的,因此,RUI250被定义,并被存储在ROM200的任务描述符220中。据此,对于由处理器22执行的每个任务来说,一个包含RUI的相应任务描述符被存储在ROM200中。根据执行一个相应任务所需的资源,任务描述符220可以包含一个或多个RUI250。然后,在步骤515,处理器22分配由RUI250定义的资源。在该优选实施例中,在检索了任务210和任务描述符220之后,处理器22通过用检索到的RUI250编程的PRA240对资源进行分配。随后,在步骤520,当资源为可用时,在步骤525,处理器22仅利用从编程的PRA240提供的资源执行任务210。当资源为不可用时,在步骤525,在执行任务210之前,处理器22等待直到资源变为可用。最后,确定是否该任务的执行已结束。当任务210的执行已结束时,处理器22返回步骤505,以确定是否将要执行另一任务。然而,在步骤525任务210未执行结束时,在步骤530,处理器22等待,直到在返回步骤505之前该执行结束时为止。确定是否将要执行另一任务之前等待直到该执行结束(步骤530)。
按照本发明,当执行一个任务时,该任务的相应任务描述符中的预定RUI使PMU向处理器提供一个预定数量的时钟脉冲,这减少了该处理器的耗用电流并因此改进了电池的节约。这是通过向处理器仅提供该预定数量的时钟脉冲执行所述任务实现的。于是,通过向处理器仅提供该预定数量的时钟脉冲可使向处理器提供的时钟脉冲数比现有技术的少。因处理器的耗用电流与时钟脉冲的数量成正比,故本发明有利于减少了处理器的耗用电流。
为此,本发明提供了在便携电子装置中改进有限电池功率利用率的一种方法和装置,其中为执行一种应用提供的资源量是根据执行该应用所需的资源量来提供的。