计算机系统中处理器性能和功率的动态管理的制作方法

文档序号:6409668阅读:208来源:国知局
专利名称:计算机系统中处理器性能和功率的动态管理的制作方法
技术领域
本发明涉及的是计算机领域。更特别地说本发明涉及一个便携计算机中的处理器性能和功率消耗的动态管理。
背景技术
近来的便携式计算机系统,像膝上型计算机和掌上型计算机通常包括一个中央处理单元和各种输入/输出设备,例如键盘、显示设备和海量存储设备。通常,这样的便携式计算机系统包括一个电池子系统,它在交流电源不能使用时给计算机系统供电。这样的电池子系统通常能够在重新充电或置换之前给计算机系统提供有限量的电流。
这样的现有计算机系统一般提供各种机构来使计算机系统中的电流消耗为最小。例如,这样的系统通常为输入/输出设备实现一个休眠方式和一个待用方式,这样在输入/输出设备不使用的时候减少电能消耗。另外,这样的现有计算机系统一般为中央处理单元提供时钟速度控制机构。
通常,在这样的系统中中央处理单元在低处理器时钟速度下消耗较少的电流。不幸的是这种低功率消耗一般是以中央处理单元的性能为代价得到的。这样的一个中央处理单元的指令吞吐量与其处理器时钟速度的减小成比例减小。其结果是,使用这样的现有便携式计算机系统一般必须在高性能、高功率消耗状态的计算机系统和低性能、低功率消耗状态的计算机系统之间选择。
在这样的系统中,较慢的处理器时钟速度的结果依赖于由执行程序实现的功能。在交互功能下当处理器以低时钟速度运行时用户一般感觉不到性能明显减低。然而在低时钟速度下在处理器密集功能期间用户的确感觉到性能降低。这种处理器密集功能也称为处理器关联功能(processor bound function)。
例如,在字处理应用程序中在交互式数据输入和打字功能期间,如果处理器设置在低时钟速度下,用户一般感觉不到性能明显降低。然而在处理器关联功能期间,例如重新格式化页,提交数据给打印机,绘制复杂的图或重新给数据库做索引,用户确实感觉到性能降低。
在这样的现有系统中,用户可能通过设定处理器时钟速度到一个高的频率来选择最大性能级。在这样的最大性能方式下,在处理器关联功能期间用户感觉到系统的最大性能。不幸的是在这样的高性能方式下用户一般体验到电池寿命的明显减小。
另一方面,用户有可能通过设定处理器时钟速度到一个低频率而选择最大保护方式。在这样的保护方式下,用户一般体验到在交互式功能期间电池寿命延长而不感觉到性能的降低。不幸的是在这样的最大保护方式下在处理器关联功能期间用户感觉到性能明显降低。
在一些现有便携式计算机系统中,用户一般使用一个功能键系列或者一个控制面板图形选择功能选择一个希望的处理器时钟速度。一些现有便携式计算机系统允许用户在任何时间设定处理器时钟速度而无须重新起动计算机系统。然而这种典型的现有处理器时钟速度控制机构太不方便,以致不能提供用户对处理器性能和系统功耗之间的平衡任何有用的控制。
发明目的总结本发明的一个目的是管理一个计算机系统性能和功耗之间的平衡。
本发明的另一目的是允许一个计算机系统中的应用程序在处理器密集功能期间选择处理器的高性能方式。
本发明的另一目的是允许一个计算机系统中的应用程序在非处理器密集功能期间选择功率保护方式。
本发明的进一步的目的是允许计算机系统的用户为处理器的一组性能方式选择处理器时钟频率。
本发明的另一目的是提供一个加速按扭图形接口,其允许用户在处理器密集功能期间增加处理器时钟频率。
本发明的这些以及其它的目的由一个包括一个时钟发生器电路的计算机系统提供,该时钟发生器电路有一个时钟速度寄存器和一个为产生由时钟速度寄存器决定的频率的处理器时钟信号的电路。计算机系统进一步包括一个处理器,用以接收处理器时钟信号来同步该处理器。处理器执行一个性能管理程序,它按照由在计算机系统中执行的应用程序选择的性能状态写时钟速度寄存器。
处理器用由性能管理程序维护的一个性能状态表中规定的一个数值写时钟速度寄存器。性能速度表存储一组相应于一组处理器性能状态的时钟频率。
本发明的其它目的、特征和优点从附图和从后面的详细说明中可明显看出。
附图的简要说明本发明以示例方式说明,但不局限于附图中的图形。图中相同的参考符号表示相似的元件,其中

图1表示一个计算机系统的实施例,它包括一个处理器、一个时钟发生器电路、一个非易失存储器和一个存储器子系统;图2是表示该计算机系统的一个实施例的软件结构框图,它包括一个性能管理程序、一个操作系统和一组应用程序;图3a-3b表示由性能控制面板在显示设备上产生的一个控制面板,性能控制面板是一个应用程序,它允许计算机系统的用户从一组预先规定的处理器时钟的频率中选择;图4表示提供一个加速按扭的字处理应用程序的信息窗口;图5是表示为一个实施例使用的应用程序处理处理器性能状态的流程图;图6是表示一个实施例的性能管理程序的功能流程图。
详细说明图1表示计算机系统的一个实施例。该计算机系统10包括一个处理器12、一个时钟发生器电路14、一个非易失存储器16和一个存储器子系统18。该计算机系统另外还包括一组输入/输出设备,包括一个磁盘子系统20、一个键盘和鼠标子系统22和一个显示器24。
处理器12通过系统总线28与非易失存储器16、存储器子系统18、磁盘子系统20、键盘和鼠标22和显示器24通信。计算机系统10还包括一个电池子系统26。电池子系统26通过系统总线28的一组电线为计算机系统10提供直流电。
非易失存储器16为计算机系统10的一个基本输入/输出软件(BIOS)提供一存储区。计算机系统10的BIOS包括为控制磁盘子系统20、键盘和鼠标22和显示器24的硬件功能的基本驱动子例程。另外,计算机系统10的BIOS包括一组存取在时钟发生器电路14中的一个时钟速度寄存器的驱动子例程。
存储器子系统18为计算机系统10的操作系统、应用程序和设备驱动程序和其它相关的数据结构提供存储区域。在一个实施例中,存储器子系统18包括一个动态随机存取(DRAM)存储器子系统。
磁盘子系统20为计算机系统10的程序和数据提供大规模海量存储。键盘和鼠标子系统22允许用户与计算机系统10对话。显示器24为计算机系统10提供显示功能。
时钟发生器电路14为处理器12产生处理器时钟32。处理器时钟32连接到处理器12的一个时钟输入引线(CLK PIN)。处理器时钟32的频率决定处理器12取指令和执行指令的速率。
处理器12通过系统总线28从存储器子系统18取一指令流。处理器12执行指令流中的每一条指令。处理器12按照应用程序、设备驱动程序和正在执行的操作系统维护存储器子系统18中的数据结构。
时钟发生器电路14连接到一个晶体设备30上。该晶体设备30能够按照包含在时钟发生器电路14中的一个时钟速度寄存器的内容产生处理器时钟32。处理器12通过经由系统总线28写时钟发生器电路14中的时钟速度寄存器来控制处理器时钟32的频率。
晶体设备30在供给电流时以一预先规定的频率振荡。时钟发生器电路14按照时钟速度寄存器中的内容调节晶体设备30产生的振荡信号频率。在一个实施例中,处理器12写时钟速度寄存器,用1、2、4或8除由晶体设备30产生的振荡信号的频率。处理器12还写时钟速度寄存器以终止处理器时钟32。
图2是表示计算机系统10的一个实施例的软件结构的框图。计算机系统10的软件实现包括一个操作系统48和一组应用程序,例如一对应用程序50和52以及有关的设备驱动程序。计算机系统10的软件结构还包括一组基本输入/输出软件(BIOS)40。
操作系统48和应用程序50和52以及有关设备驱动程序从磁盘子系统加载并从存储器子系统18执行。在一个实施例中,操作系统是微软公司的视窗程序。
操作系统48给应用程序50和52提供一组包括存储器管理和多任务功能的系统服务。操作系统48能使应用程序50和52以及有关设备驱动程序通过BIOS40存取计算机系统10的输入/输出设备。
BIOS40包括为存取和控制磁盘子系统20、键盘和鼠标22和显示器24的基本硬件驱动子例程。BIOS40还包括一个时钟发生器驱动程序42。时钟发生器驱动程序42包括一组用于存取时钟发生器电路14中的时钟速度寄存器34的硬件驱动子例程。
计算机系统10的软件结构还包括一个性能管理程序44、一个性能控制面板54和一个性能状态表56。在一个实施例中,性能管理程序是操作系统48的一个扩展,它从磁盘子系统20加载和从存储器子系统18执行。性能管理程序44处理从应用程序50和52来的请求以改变处理器12的性能状态。
在一个实施例中,应用程序50和52通过操作系统48执行一个设定性能状态的系统调用,请求性能管理程序44改变处理器性能状态。对性能管理程序44的设定性能状态的系统调用为处理器12指定是一个高性能状态、一个中等性能状态还是一个低性能状态。
性能管理程序44访问性能管理表56以决定相应于处理器12的高、中、低性能状态的处理器时钟32的频率。然后性能管理程序44激活时钟发生器驱动程序42,为处理器时钟32的指定频率编程时钟速度寄存器34。
在另一个实施例中,一个光标监视程序46监视由操作系统48在显示器24上产生的光标或由一个应用程序50和52在显示器24上产生的光标。在该实施例中,光标监视程序46监视对操作系统48的一个设定光标系统调用以决定在显示器24上显示的光标的类型。光标监视程序46通过设定光标系统调用来检测由在处理器12上执行的其它应用程序或驱动程序所引起的光标显示的改变。
在显示器24上产生的沙漏形状的光标指明处理器12正在执行处理器密集软件。如果在显示器24上产生沙漏形状的光标,则光标监视程序46对性能管理程序44产生一个设定性能状态的系统调用来升高处理器12的性能状态到高性能状态。在操作系统48或应用程序50或52从显示器24上清除沙漏状光标后,光标监视程序46对性能管理程序44执行一个设定性能状态系统调用来恢复处理器12的性能状态到低性能状态。
图3a-3b表示由性能控制面板54在显示设备24上产生的一个控制面板。性能控制面板54是一个应用程序,它能使计算机系统10的用户从处理器时钟32的一组预先确定的频率中选择相应于处理器12的高、中、低性能状态。性能控制面板54使用操作系统48提供的显示和交互式输入功能产生控制面板70和输入处理器时钟频率。
在图3a所示作为例子的控制面板70的用户选择中,处理器12的高性能状态相应于处理器时钟32的25MHz的频率。中性能状态相应于处理器时钟32的20MHz的频率,而低性能状态相应于处理器时钟32的15MHz的频率。控制面板70的下拉式菜单区域71-74允许用户从为处理器时钟32一组预先规定的四个频率中选择,如图3b所示。
在一个实施例中,通过控制面板70可得到的预先规定的频率包括晶体设备30的振荡频率,晶体设备30振荡频率的二分之一,晶体设备30振荡频率的四分之一和晶体设备30振荡频率的八分之一。控制面板70允许用户为每一高、中、低处理器状态选择任何预先规定的处理器时钟32的频率。
用户使用控制面板70的的一组下拉式菜单区域71-73为处理器12的每一高、中、低性能状态选择一个希望的处理器时钟32的频率。如果总是希望处理器12的最大性能,那么用户为处理器12的高、中、低处理器状态选择最快的处理器时钟32的频率。另一方面,如果总是希望功率保护,那么用户为处理器12的高、中、低处理器状态选择最慢的处理器时钟32的频率。另外,用户可以为处理器12的高、中、低处理器状态选择处理器时钟3 2的频率,随意调节计算机系统10的最大性能和最大功耗的平衡。
性能控制面板54把通过控制面板70选择的时钟速度传送到性能管理程序44。然后性能管理程序44存储为高、中、低性能状态所选择的时钟频率到性能状态表56中。性能管理程序44在从应用程序50和52和光标监视程序46接收到设定性能状态系统调用时从性能状态表56中访问时钟速度。然后性能管理程序44使用时钟发生器驱动程序42写合适的值到时钟速度寄存器34以设定选择的处理器时钟32的频率。
在另一个实施例中,为性能状态表56的时钟速度由在BIOS40中的一个时钟速度功能选择,其允许用户通过命令输入选择时钟速度。
当执行一个处理器密集功能时应用程序50和52在显示器24上产生一个信息窗口。该信息窗口能使用户在处理器密集功能期间加快处理器时钟32的频率。
图4表示一个实施例的信息窗口80。应用程序50是一个字处理应用程序,它在执行文件的拼写检查时在显示器24上产生该信息窗口80。对文件的拼写检查功能是由应用程序50执行的处理器密集功能的一例。
信息窗口80允许用户通过使用键盘和鼠标子系统22选择信息窗口80的加速按扭加快拼写检查功能。信息窗口80还允许用户通过使用键盘和鼠标子系统22选择信息窗口80的取消按扭来取消拼写检查功能。
如果用户选择了信息窗口80的加速按扭,则应用程序50执行对性能管理程序44的一个设定性能状态系统调用以升高处理器12的性能状态到高性能状态。在完成处理器密集拼写检查功能后,应用程序50执行对性能管理程序44的一个设定性能状态系统调用来恢复处理器12到处理器12的低或中性能状态。
图5是表示一个实施例中应用程序50处理处理器12的性能状态的流程图。在判定框100应用程序50判别用户是否起动了应用程序50的一个处理器密集功能。如果在判定框100未选择处理器密集功能,则应用程序50在框102继续执行。如果在判定框100选择处理器密集功能,则控制前进到框104。
在框104,应用程序50对性能管理程序44执行一个设定性能状态系统调用以升高处理器12的性能状态到高性能状态。之后,应用程序50执行由用户指定的处理器密集功能。
在判定框106,应用程序50判别处理器密集功能是否完成。如果在判定框106处理器密集功能完成,则控制前进到框108。在框108处,应用程序50对性能管理程序44执行一个设定性能状态系统调用,根据应用程序50的需要恢复处理器12的性能状态到低性能状态或中性能状态。之后应用程序50继续在框110执行。
图6是表示一个实施例的性能管理程序44的功能的流程图。在框140,性能管理程序44从性能状态表56最初读低性能状态的时钟速度。之后在框142,性能管理程序44激活时钟发生器驱动程序42,在时钟发生器电路14的时钟速度寄存器34中写为低性能状态指定的时钟速度。
在判定框144,性能管理程序44等待从应用程序50和52以及光标监视程序46来的设定性能状态系统调用改变处理器12的性能状态。如果在框144收到对性能管理程序44的一个设定性能状态系统调用,则控制前进到框146。
在框146,性能管理程序44从性能状态表56读由设定性能状态系统调用指定的性能状态的时钟速度。之后,在框148,性能管理程序44通过激活时钟发生器42,在时钟速度寄存器34中写入从性能状态表56来的指定的时钟速度。之后,性能管理程序44返回到判定框144等待另一设定性能状态系统调用。
上面参照作为例子的实施方案叙述了本发明。然而显然,可以对其进行各种修改或改进而不离开在所附权利要求中说明的本发明的更宽的精神和范围。因此说明书和附图应该视为说明文件而不是对本发明的限制。
权利要求
1.一个计算机系统,包括具有时钟速度寄存器和以时钟速度寄存器规定的频率产生处理器时钟信号的电路的时钟发生器电路;连接的处理器,接收处理器时钟信号,使得处理器时钟信号同步处理器,连接的处理器取出一个性能管理程序并予以执行,该性能管理程序根据由在计算机系统中执行的一个应用所程序选择的性能状态写时钟速度寄存器。
2.根据权利要求1的计算机系统,其中,处理器以一个在由性能管理程序维护的性能状态表中指定的值写时钟速度寄存器。
3.根据权利要求2的计算机系统,其中,性能状态表存储一组对应于该处理器的一组性能状态的时钟频率。
4.根据权利要求3的计算机系统,进一步包括一个在该计算机系统上运行的性能控制面板程序,它允许用户选择处理器性能状态的时钟频率。
5.根据权利要求4的计算机系统,其中,性能管理程序在应用程序开始一个处理器密集功能时以一个相应于由应用程序来的系统调用指定的高性能状态的时钟频率写时钟速度寄存器。
6.根据权利要求4的计算机系统,其中,性能管理程序在应用程序结束一个处理器密集功能时以一个相应于由应用程序来的系统调用指定的低性能状态的时钟频率写时钟速度寄存器。
7.根据权利要求4的计算机系统,其中,性能管理程序通过调用计算机系统的一组基本输入/输出软件的一个时钟发生器驱动程序写时钟速度寄存器。
8.根据权利要求4的计算机系统,其中,应用程序在显示设备上产生一个加速按扭,使得当用户选择加速按扭时,引起性能管理程序以一个相应于处理器的高性能状态的时钟频率写时钟速度寄存器。
9.管理一个计算机系统的性能和功耗的方法,包括下述步骤以时钟速度寄存器规定的频率产生一个处理器时钟信号;以该处理器时钟信号同步计算机系统的处理器;根据由在计算机系统中运行的一个应用程序选择的性能状态写时钟速度寄存器。
10.根据权利要求9的方法,其中,根据由应用程序选择的性能状态写时钟速度寄存器的步骤包括以一个由性能管理程序维护的性能状态表中指定的值写时钟速度寄存器的步骤。
11.根据权利要求10的方法,其中,性能状态表存储一组相应于一组处理器性能状态的时钟频率。
12.根据权利要求11的方法,进一步包括使用在该计算机系统中执行的一个性能控制面板程序为处理器的性能状态选择时钟频率的步骤。
13.根据权利要求12的方法,其中,相应于由一个应用程序选择的性能状态写时钟速度寄存器的步骤包括在应用程序开始一个处理器密集功能时以一个相应于由应用程序来的系统调用指定的高性能状态的时钟频率写时钟速度寄存器的步骤。
14.根据权利要求12的方法,其中,相应于由一个应用程序选择的性能状态写时钟速度寄存器的步骤包括在应用程序结束一个处理器密集功能时以一个相应于由应用程序来的系统调用指定的低性能状态的时钟频率写时钟速度寄存器的步骤。
15.根据权利要求12的方法,其中,相应于由一个应用程序选择的性能状态写时钟速度寄存器的步骤包括调用该计算机系统的一组基本输入/输出软件的一个时钟发生器驱动程序的步骤。
16.根据权利要求12的方法,进一步包括在显示设备上产生一个加速按扭的步骤,使得当用户选择加速按扭时,引起性能管理程序以一个相应于处理器的高性能状态的时钟频率写时钟速度寄存器。
全文摘要
本发明公开了一个计算机系统(10),它包括一个时钟发生器电路(14),该电路具有一个时钟速度寄存器(34)和产生由时钟速度寄存器(34)规定的频率的处理器时钟信号(32)的电路,其中处理器(12)执行一个性能管理程序(44),后者按照由一个应用程序(50、52)选择的性能状态写时钟速度寄存器(34)。应用程序(50、52)选择性能状态使得在处理器密集功能期间性能最大,而在交互功能期间功耗最小。
文档编号G06F3/048GK1150845SQ95193635
公开日1997年5月28日 申请日期1995年6月14日 优先权日1994年6月17日
发明者D·诺里斯 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1