控制cpu执行模式的记录介质、方法及信息处理设备的制作方法

文档序号:6515023阅读:219来源:国知局
专利名称:控制cpu执行模式的记录介质、方法及信息处理设备的制作方法
技术领域
本发明涉及程序,记录介质,控制方法以及信息处理设备。本发明具体涉及与中央处理单元的节电有关的程序,记录介质,控制方法以及信息处理设备。
背景技术
近年来,通过禁用至少一部分中央处理单元功能来降低信息处理设备的功耗的节电技术已经引起注意。例如,某个中央处理单元具有作为普通执行模式的C0状态,中央处理单元内部时钟被停止的C2状态,以及在C2状态下还禁用高速缓冲存储器和主存储器之间的一致性控制的C3状态。
此外,在近年来的信息处理设备中,输入/输出设备能够执行总线主设备传送(bus master transfer),其直接访问主存储器,而不用向中央处理单元请求处理。归功于总线主设备传送,中央处理单元不用从输入/输出设备接收超过必要的中断处理,因此高效操作。
然而,对于当中央处理单元处于C3状态时输入/输出设备执行总线主设备传送的情况,高速缓冲存储器和主存储器之间数据的一致性被丢失。因此,仅当确认总线主设备传送未被执行时,中央处理单元的操作系统(此后,称作“OS”)已把中央处理单元切换到C3状态。
例如,诸如Windows XP(注册商标)的OS已经复位指示总线主设备传送正在处理中的标志,并且如果因为之后立即引用标志而使标志保持复位状态,则OS确定总线主设备传送的频率低,并且把中央处理单元切换到C3状态。接着,当总线主设备传送被恢复时,中央处理单元有必要立即从C3状态恢复到C0状态,等等。
执行节电控制的现有技术已经提出(参照专利文件1)。
日本专利公开Hei 8(1996)-6681然而,中央处理单元需要一些时间恢复到C0状态,等等。为此,在从访问主存储器等等的请求到中央处理单元恢复到C0状态并且恢复处理的阶段内,输入/输出设备尚未能够访问主存储器并且在某些情况下尚未导致故障。
例如,为了以恒定速率与另一设备通信,通信设备预先从主存储器获得要传送的数据并且存储数据在缓冲存储器中。接着,当存储在缓冲存储器中的数据不足时,通信设备请求访问主存储器以便从主存储器新获得数据。当在缓冲存储器中的数据在从这个请求到通信设备从主存储器获得数据的阶段内被用尽时,通信设备不能固定保持通信速率,并且导致故障。
在这个方面,本发明的目的是提供能够解决上述问题的程序,记录介质,控制方法以及信息处理设备。通过在权利要求书的范围中组合独立权利要求中描述的特征来实现这个目的。

发明内容
为了解决上述问题,本发明的第一方面是用于信息处理设备的程序产品,用于指示信息处理设备控制在信息处理设备中提供的中央处理单元的执行模式,中央处理单元具有其可执行处理的类型和功耗彼此不同的多个执行模式,该程序产品包括设备可读介质;在设备可读介质上提供的恢复时间获取装置,用于获得恢复时间,即中央处理单元从低功率模式恢复到功耗高于低功率模式功耗的高功率模式所需的时间;在设备可读介质上提供的允许时间获取装置,用于获得从针对低功率模式下不可处理且高功率模式下可处理的处理的请求,到中央处理单元恢复到高功率模式之后处理的开始的最长允许时间,其中由信息处理设备的输入/输出设备向中央处理单元发出请求;以及在设备可读介质上提供的执行模式设置装置,用于在基于允许时间和恢复时间确定中央处理单元能够切换到低功率模式的情况下,把中央处理单元设置到能够切换为低功率模式的状态。
注意,上述发明内容未列出本发明的所有必要特征,并且这些特性的组的子组合也可以结合进本发明。
基于本发明,执行总线主设备传送的输入/输出设备能够被恰当地操作。


参考下面结合附图的描述以更完整地理解本发明及其优点。
图1示出信息处理设备10的模块图。
图2示出中央处理单元1000的执行模式概要。
图3示出主存储器1020中存储的数据的数据结构的例子。
图4(a)和4(b)的图表示出输入/输出设备的处理和执行模式的转变时序的例子。
图5示出中央处理单元1000的模块图。
图6示出操作系统设置切换目标模式的处理的例子。
图7示出在图6的处理之后的处理。
图8示出操作系统执行的另一处理的例子。
图9示出设备驱动程序A的操作流程的例子。
图10示出在修改例子中中央处理单元1000的模块图。
图11示出在修改例子中设备信息记录单元310的例子。
图12示出在修改例子中设备驱动程序A的操作流程的例子。
图13示出在图12的处理之后的处理。
图14示出在修改例子中操作系统的处理的例子。
具体实施例方式
通过本发明的实施例在下面描述本发明。然而,下述实施例不用于基于权利要求书的范围来限制本发明,并且不是实施例中描述的所有组合特性都对本发明的解决手段而言是必要的。
图1示出信息处理设备10的硬件结构的例子。信息处理设备10包含通过主控制器1082互连的中央处理单元及其外设单元,通过I/O控制器1084连接到主控制器1082的输入/输出单元,以及连接到I/O控制器1084的传统输入/输出单元。中央处理单元及其外设单元包含中央处理单元1000,主存储器1020,图形控制器1075以及显示设备1080。
输入/输出单元包含通信接口1030,红外通信设备1032,USB设备1035,设备A和B等等其它输入/输出设备,硬盘驱动器1040以及CD-ROM驱动器1060。传统输入/输出单元包含BIOS 1010,软盘驱动器1050以及I/O芯片1070。
主控制器1082连接主存储器1020到中央处理单元1000和以高传送速率访问主存储器1020的图形控制器1075。基于存储在BIOS 1010和主存储器1020中的程序,中央处理单元1000操作,并且控制相应单元。
图形控制器1075获得中央处理单元1000等等在主存储器1020中提供的帧缓存器上产生的图像数据,并且在显示设备1080上显示所获得图像数据。可选地,图形控制器1075可以在其中包含存储中央处理单元1000等等产生的图像数据的帧缓存器。
I/O控制器1084连接主控制器1082到通信接口1030,红外通信设备1032,USB设备1035,设备A/B,硬盘驱动器1040以及CD-ROM驱动器1060,它们是相对高速的输入/输出设备。通信接口1030通过网络与外部设备通信。
红外通信设备1032通过红外通信技术与外部设备无线通信。USB设备是符合USB标准的设备,并且针对主存储器1020读、写数据。硬盘驱动器1040存储信息处理设备10使用的程序和数据。CD-ROM驱动器1060从CD-ROM 1095读取程序或数据,并且通过I/O控制器1084向主存储器1020提供所读取的程序或数据。
此外,诸如BIOS 1010,软盘驱动器1050和I/O芯片1070的相对低速的输入/输出设备被连接到I/O控制器1084。BIOS 1010存储当信息处理设备10被启动时由中央处理单元1000执行的启动程序,该程序取决于信息处理设备10的硬件等等。
软盘驱动器1050从软盘1090读取程序或数据,并且通过I/O芯片1070向主存储器1020提供所读取的程序或数据。I/O芯片1070通过例如并行端口,串行端口,键盘端口和鼠标端口连接软盘1090和各种输入/输出设备到I/O控制器1084。提供给信息处理设备10的程序被存储在诸如软盘1090,CD-ROM 1095和IC卡的记录介质中,并且由用户提供。程序通过I/O芯片1070和/或I/O控制器1084被从记录介质读取,被安装在信息处理设备10中,从而被执行。
安装在信息处理设备10中从而被执行的程序包含允许时间产生模块,恢复时间获取模块,允许时间获取模块,故障检测模块,执行模式设置模块以及执行模式选择模块。相应模块通过在信息处理设备10上操作而允许信息处理设备10执行的动作与对应于图2到14中描述的信息处理设备10中模块的成员的动作相同,并且因此省略其说明。
上面描述的程序或模块可以存储在外部存储介质中。对于存储介质,除软盘1090和CD-ROM 1095之外,可以使用诸如DVD和PD的光记录介质,诸如MD的磁光记录介质,磁带介质,诸如IC卡的半导体存储器等等。此外,在连接到专用通信网络和因特网的服务系统中提供的诸如硬盘和主存储器的存储设备可以用作这种记录介质,并且可以通过网络向信息处理设备10提供程序。
图2示出中央处理单元1000的执行模式概要。中央处理单元1000具有多个执行模式,其可执行处理的类型和功耗彼此不同。作为一个例子,中央处理单元1000具有C0状态,C1状态,C2状态,C3状态以及C4状态,以作为多个执行模式。
C0状态到C4状态的功耗按降序变高。例如,在中央处理单元的某个类型中,C0状态的功耗超出20W,C1状态,C2状态,C3状态和C4状态的功耗分别是0.8W,0.69W,0.26W和0.1W。
C0状态是基于本发明的高功率模式的例子,并且在C0状态,中央处理单元1000执行指令。与此相反,C1到C4状态是基于本发明的低功率模式的例子,并且在C1到C4状态,中央处理单元1000不执行指令。
此外,在C0到C2状态,中央处理单元1000执行一致性控制,其中一致性控制是用于保持高速缓冲存储器1005和主存储器1020之间一致性的处理。与此相反,在C3和C4状态,中央处理单元1000不执行这个一致性控制。例如,中央处理单元1000在C0到C2状态执行总线窥探(snoop)处理,以监视主存储器的访问总线,并且在C3和C4状态不执行总线窥探处理。
此外,在C2状态,当中央处理单元1000继续接收操作时钟的供应的同时,中央处理单元1000停止中央处理单元1000内的操作时钟。在C3状态,中央处理单元1000还停止中央处理单元1000外部的操作时钟。接着,在C4状态,中央处理单元1000把中央处理单元1000的供电电压降到低于C3状态的供电电压。
图3示出主存储器1020中存储的数据的数据结构的例子。主存储器1020包含CPU信息记录单元300和设备信息记录单元310。CPU信息记录单元300存储恢复时间,即中央处理单元1000从多个低功率模式的每个模式恢复到高功率模式所需的时间。
然而,中央处理单元1000从低功率模式的状态恢复到能够执行指令的状态所需的时间,与其恢复到能够进行一致性控制的状态所需的时间彼此不同。因此,对于每个低功率模式,CPU信息记录单元300存储CPU恢复时间,即其从低功率模式恢复到能够执行指令的状态所需的时间,以及总线恢复时间,即其从低功率模式恢复到能够进行一致性控制的状态所需的时间。可选地,总线恢复时间可以是输入/输出设备从低功率模式恢复到能够获得控制访问主存储器的总线的权利的状态所需的时间。
作为一个例子,CPU信息记录单元300存储85微秒作为从C3状态恢复到能够执行指令的状态所需要的CPU恢复时间。而且,CPU信息记录单元300存储1微秒作为从C2状态恢复到能够执行指令的状态所需要的CPU恢复时间。注意,这些恢复时间可以是用户程序通过ACPI的API查询操作系统所获得的值,或由用户测量的值。
对于每个输入/输出设备,设备信息记录单元310存储CPU允许时间,即从输入/输出设备请求中央处理单元1000执行指令到中央处理单元1000实际恢复到C0状态并且执行指令的最大允许时间。此外,对于每个输入/输出设备,设备信息记录单元310存储总线允许时间,即从输入/输出设备请求访问主存储器1020到中央处理单元1000进入能够进行一致性控制的状态的最大允许时间。
注意,设备信息记录单元310存储的允许时间不限于CPU允许时间和总线允许时间。如果设备信息记录单元310存储从输入/输出设备请求中央处理单元1000执行在低功率模式下不可处理并且在高功率模式下可处理的处理,到中央处理单元1000实际开始处理的允许时间,则令人满意。此外,设备信息记录单元310存储的总线允许时间不限于中央处理单元1000恢复到C0状态所需的时间。例如,如果中央处理单元1000可不经过C0状态而从C3状态等等切换到C2状态,则设备信息记录单元310可以存储中央处理单元1000从C3状态恢复到C2状态所需的时间,以作为总线允许时间。
图4(a)和4(b)的图表示出了输入/输出设备的处理和执行模式的转变时序的例子。图4(a)示出了其中中央处理单元1000在C0状态或者C3状态下操作的状态的时序例子。在C3状态,当输入/输出设备通过发出(assert)LPC_DREQ#信号(1)请求访问主存储器时,中央处理单元1000开始从C3状态到C0状态的恢复处理。
具体地,首先,信息处理设备10解除(deassert)CPUSTP#信号,并且因而中央处理单元1000开始准备接收操作时钟的供应。例如,对于这个准备,需要例如大约80微秒的时间。接着,信息处理设备10解除STPCLK#信号,并且因而恢复操作时钟。因而,信息处理设备10恢复到C0状态(2),并且处理总线主设备的请求。
在这个例子中,如果中央处理单元1000工作于C0状态42微秒之后未进一步检测到总线主设备传送的请求,则中央处理单元1000再次切换到C3状态(3)。例如,与这个处理基本上同时地,红外通信设备1032请求访问主存储器。信息处理设备10在发出CPUSTP#和切换到C3状态时立即开始到C0状态的恢复处理。例如,对于这个恢复处理,需要大约85微秒的时间(4)。
当红外通信设备1032中提供的缓冲存储器中的数据在从红外通信设备1032请求访问主存储器的时间开始的85微秒内用尽时,由于从主存储器获得的数据不足,红外通信设备1032导致故障。在这种情况下,这个实施例中的信息处理设备10进行把中央处理单元1000从C0状态切换到C2状态而不是C3状态的设置。
图4(b)示出了其中中央处理单元1000在C0状态或者C2状态下操作的状态的时序例子。在这个例子中,当中央处理单元1000未检测到访问主存储器的请求时,中央处理单元1000发出STPCLK#,解除CPUSTP#,并且因而切换到C2状态。接着,当请求访问主存储器时,在继续处于C2状态的同时,中央处理单元1000执行一致性控制。
在图4(b)示出的例子中,不同于图4(a)的例子,红外通信设备1032可以不用这样多的延迟通过请求访问主存储器而获得数据,并且因此可以继续通信并且不导致故障。
图5示出中央处理单元1000的模块图。通过设备驱动程序A,中央处理单元1000用作允许时间产生单元500-1,并且通过设备驱动程序B,用作允许时间产生单元500-2。此外,通过操作系统的节电模块,中央处理单元1000用作恢复时间获取单元510,允许时间获取单元520,故障检测单元530以及执行模式设置单元540。
注意,设备驱动程序A是管理设备A的程序,并且设备驱动程序B是管理设备B的程序。接着,操作系统,设备驱动程序A以及设备驱动程序B的组是基于本发明的程序的例子。
允许时间产生单元500-1基于设备A的工作状态产生CPU允许时间和总线允许时间,并且把所产生的CPU允许时间和总线允许时间存储在主存储器1020的设备信息记录单元310中。设备驱动程序B的处理与设备驱动程序A的处理基本上相同,并且因此省略其说明。
恢复时间获取单元510从主存储器1020的CPU信息记录单元300获得每个执行模式的CPU恢复时间和总线恢复时间。允许时间获取单元520在其初始化和发生变化时获得每个输入/输出设备的CPU允许时间和总线允许时间。可选地,当自从执行模式设置单元540把切换目标的执行模式从功耗较低的低功率模式转变到功耗较高的低功率模式开始,已经过预定设置参考时间时,允许时间获取单元520可以向设备驱动程序B等等查询CPU允许时间和总线允许时间。
当任意输入/输出设备请求数据传送时,故障检测单元530确定故障是否已经出现于低功率模式下与主存储器进行的数据传送中。作为一个例子,故障检测单元530可以检测红外通信设备1032的缓冲存储器是否已经导致运行错误(under-run error)。
执行模式设置单元540基于CPU恢复时间,总线恢复时间,CPU允许时间和总线允许时间(此后,称作CPU恢复时间等等)设置中央处理单元1000将从C0状态切换到的切换目标的低功率模式(此后,称作切换目标模式)。例如,执行模式设置单元540可以通过设置中央处理单元1000为不切换到C3状态,从而把切换目标模式设置为C2状态。可选地,执行模式设置单元540可以设置中央处理单元1000可切换到的一组执行模式。作为设置方法的例子,执行模式设置单元540可以调用在中央处理单元1000上操作的BIOS程序的预定API。
此外,可以设置成当故障检测单元530确定故障已经出现时,执行模式设置单元540不管CPU恢复时间等等如何,均设置中央处理单元1000为不可切换到C3状态。可选地,可以设置成当基于CPU恢复时间等等确定不允许中央处理单元1000切换到C3状态时,执行模式设置单元540进一步在故障检测单元530确定故障已经出现的情况下,设置中央处理单元1000为不可切换到C3状态。
图6示出操作系统设置切换目标模式的处理的例子。当中央处理单元1000处于不执行用户程序指令的空闲状态时,操作系统允许中央处理单元1000执行下列处理。首先,恢复时间获取单元510获得CPU恢复时间和总线恢复时间(S600)。
允许时间获取单元520获得每个输入/输出设备的CPU允许时间和总线允许时间(S610)。接着,执行模式设置单元540确定多个输入/输出设备中的最短CPU允许时间是否等于或超过C4状态的CPU恢复时间(S620)。当CPU允许时间等于或超过CPU恢复时间(S620是)时,执行模式设置单元540接着确定多个输入/输出设备中的最短总线允许时间是否等于或超过C4状态的总线恢复时间(S630)。
当总线允许时间等于或超过总线恢复时间(S630是)时,执行模式设置单元540设置切换目标模式为C4状态(S640)。注意,为准备随后的处理,执行模式设置单元540最好在主存储器等等中存储这个设置之前已经设置的切换目标模式。而且,当最短CPU允许时间比C4状态的CPU恢复时间更短时(S620否),或当最短总线允许时间比C4状态的总线恢复时间更短时(S630否),执行模式设置单元540前进到图7的处理。
图7示出在图6的处理之后的处理。执行模式设置单元540确定多个输入/输出设备中的最短CPU允许时间是否等于或超过C3状态的CPU恢复时间(S700)。当CPU允许时间等于或超过CPU恢复时间(S700是)时,执行模式设置单元540接着确定多个输入/输出设备中的最短总线允许时间是否等于或超过C3状态的总线恢复时间(S710)。
当总线允许时间等于或超过总线恢复时间(S710是)时,执行模式设置单元540设置切换目标模式为C3状态(S720)。而且,当最短CPU允许时间比C3状态的CPU恢复时间更短时(S700否),或当最短总线允许时间比C3状态的总线恢复时间更短时(S710否),执行模式设置单元540前进到下一处理。
执行模式设置单元540确定多个输入/输出设备中的最短CPU允许时间是否等于或超过C2状态的CPU恢复时间(S730)。当CPU允许时间等于或超过CPU恢复时间(S730是)时,执行模式设置单元540接着确定多个输入/输出设备中的最短总线允许时间是否等于或超过C2状态的总线恢复时间(S740)。
当总线允许时间等于或超过总线恢复时间(S740是)时,执行模式设置单元540设置切换目标模式为C2状态(S750)。而且,当最短CPU允许时间比C2状态的CPU恢复时间更短时(S730否),或当最短总线允许时间比C2状态的总线恢复时间更短时(S740否),执行模式设置单元540设置切换目标模式为C1状态(S760)。
因而,执行模式设置单元540可以选择低功率模式,其中CPU恢复时间等于或短于最短CPU允许时间,并且总线恢复时间等于或短于最短总线允许时间,并且可以设置所选择的低功率模式为切换目标模式。此外,执行模式设置单元540按从低功耗的执行模式到高功耗的执行模式的次序确定中央处理单元1000是否可切换到该模式,因而能够使中央处理单元1000切换到功耗尽可能低的执行模式。
图8示出操作系统执行的另一处理例子。例如,操作系统允许中央处理单元1000周期性地执行下列处理。允许时间获取单元520确定自从执行模式设置单元540把切换目标模式改变为功耗高于过去设置的低功率模式的功耗的低功率模式开始,是否已经过预定设置参考时间(S800)。
当设置参考时间已经过时,允许时间获取单元520查询每个输入/输出设备的CPU允许时间和总线允许时间(S810)。在获得对有关查询的响应时,允许时间获取单元520转移处理到S840(S820是)。注意,响应可以是CPU允许时间自身和总线允许时间自身,或可以是这些时间已经写入主存储器1020的结果的通知。
而且,当执行模式设置单元540不能获得对有关查询的响应时(S820否),执行模式设置单元540进行设置,该设置把切换目标模式返回到在改变之前的低功率模式(S830)。例如,执行模式设置单元540可以从主存储器取出在S640存储的、改变之前的低功率模式,并且可以设置取出的低功率模式为切换目标模式。因而,即使当故障出现在设备驱动程序中并且CPU允许时间和总线允许时间变得不准确时,信息处理设备10的功耗也能够保持较低。
接着,操作系统周期性地执行下列处理。注意,处理的时序可以不同于上述处理的时序。当任意输入/输出设备请求在任何低功率模式下与主存储器进行数据传送时,故障检测单元530确定故障是否已经出现在数据传送中(S840)。当确定故障已经出现在数据传送中时(S840是),执行模式设置单元540设置中央处理单元1000为不可切换到例如C3状态的预定低功率模式(S850)。
图9示出设备驱动程序A的操作流程例子。例如,设备驱动程序A允许允许时间产生单元500-1周期性执行下列处理。允许时间产生单元500-1确定是否已经接收用于开始与主存储器的数据传送的传送开始指令(S900)。在已经接收传送开始指令的情况下(S900是),允许时间产生单元500-1把短于存储在设备信息记录单元310中的总线允许时间的时间作为新总线允许时间存储在设备信息记录单元310中,因而缩短总线允许时间(S910)。
接着,允许时间产生单元500-1通过设备A执行数据传送(S920)。在数据传送完成之后,允许时间产生单元500-1把长于在S910存储的总线允许时间的时间作为新总线允许时间存储在设备信息记录单元310中,因而延长总线允许时间(S930)。结果,当设备A与主存储器传送数据时,允许时间产生单元500-1能够将与设备A未与主存储器传送数据的情况相比更短的时间设置为总线允许时间。
可选地,允许时间产生单元500-1可以缩短CPU允许时间,并且在数据传送结束之后,可以延长CPU允许时间。可选地,允许时间产生单元500-1可以根据数据传送的传送速率设置总线允许时间或CPU允许时间。例如,当数据传送的传送速率较快时,允许时间产生单元500-1可以产生短于传送速率较慢情况下的时间的时间,以作为总线允许时间。
如上所述,基于这个实施例,中央处理单元1000能够在功耗尽可能低的执行模式下操作,并且能够阻止故障出现在输入/输出设备中。
图10示出在修改例子中中央处理单元1000的模块图。不同于图5中描述的中央处理单元1000,通过设备驱动程序A,这个修改例子的中央处理单元1000用作允许时间产生单元500-1,恢复时间获取单元510-1,允许时间获取单元520-1以及切换目标模式选择单元550-1。此外,通过设备驱动程序B,中央处理单元1000用作允许时间产生单元500-2,恢复时间获取单元510-2,允许时间获取单元520-2以及切换目标模式选择单元550-2。图10中的允许时间产生单元500-1,恢复时间获取单元510-1以及允许时间获取单元520-1与图5中示出的允许时间产生单元500-1,恢复时间获取单元510以及允许时间获取单元520分别近似相同,并且因此省略其说明。
此外,通过操作系统的节电模块,中央处理单元1000用作执行模式设置单元540。注意,如图5中那样,设备驱动程序A是管理设备A的程序,并且设备驱动程序B是管理设备B的程序。此外,操作系统,设备驱动程序A以及设备驱动程序B的组是基于本发明的程序的例子。
基于CPU恢复时间等等,当在信息处理设备10中只提供设备A作为输入/输出设备并且在其中没有提供其他的输入/输出设备时,切换目标模式选择单元550-1选择将由执行模式设置单元540设置的切换目标模式。接着,在主存储器1020中,切换目标模式选择单元550-1存储指示所选择的切换目标模式的信息,使得该信息对应于设备A。以类似方式,允许时间产生单元500-2等等为每个输入/输出设备选择切换目标模式,并且把每个所选择的切换目标模式存储在主存储器1020中。其它输入/输出设备的设备驱动程序的处理与设备驱动程序A的处理基本上相同,并且因此省略后续说明。
执行模式设置单元540设置低功率模式作为切换目标模式,该低功率模式下,在由切换目标模式选择单元550-1等等为每个输入/输出设备选择的切换目标模式中,CPU恢复时间最短并且总线恢复时间最短。设置处理的例子与图5的例子基本上相同,并且因此省略其说明。
图11示出在修改例子中设备信息记录单元310的例子。对于每个输入/输出设备,当信息处理设备10中只提供了该输入/输出设备时,设备信息记录单元310存储将由执行模式设置单元540为该输入/输出设备设置的切换目标模式。可选地,对于每个输入/输出设备及执行模式,当信息处理设备10中只提供该输入/输出设备时,设备信息记录单元310可以存储关于执行模式设置单元540是否将执行可切换到该执行模式的设置的信息。注意,在这个例子中的CPU信息记录单元300与图3示出的CPU信息记录单元300基本上相同,并且省略其说明。
图12示出在修改例子中设备驱动程序A的操作流程例子。例如,设备驱动程序A允许下列单元周期性或每当设备A的工作状态转变时执行下列处理。首先,恢复时间获取单元510-1获得CPU恢复时间和总线恢复时间(S1200)。允许时间产生单元500-1产生设备A的CPU允许时间和总线允许时间(S1210)。允许时间获取单元520-1从允许时间产生单元500-1获得设备A的CPU允许时间和总线允许时间(S1220)。
切换目标模式选择单元550-1确定设备A的CPU允许时间是否等于或超过C4状态的CPU恢复时间(S1230)。当CPU允许时间等于或超过CPU恢复时间(S1230是)时,切换目标模式选择单元550-1接着确定设备A的总线允许时间是否等于或超过C4状态的总线恢复时间(S1240)。
当总线允许时间等于或超过总线恢复时间(S1240是)时,切换目标模式选择单元550-1选择C4状态作为切换目标模式,并且存储选择的结果在设备信息记录单元310中(S1250)。而且,当设备A的CPU允许时间比C4状态的CPU恢复时间短时(S1230否),或当设备A的总线允许时间比C4状态的总线恢复时间短时(S1240否),切换目标模式选择单元550-1前进到图13的处理。
图13示出在图12的处理之后的处理。切换目标模式选择单元550-1确定设备A的CPU允许时间是否等于或超过C3状态的CPU恢复时间(S1300)。当CPU允许时间等于或超过CPU恢复时间(S1300是)时,切换目标模式选择单元550-1接着确定设备A的总线允许时间是否等于或超过C3状态的总线恢复时间(S1310)。
当总线允许时间等于或超过总线恢复时间(S1310是)时,切换目标模式选择单元550-1选择C3状态作为切换目标模式,并且存储选择的结果在设备信息记录单元310中(S1320)。而且,当设备A的CPU允许时间比C3状态的CPU恢复时间更短时(S1300否),或当设备A的总线允许时间比C3状态的总线恢复时间更短时(S1310否),切换目标模式选择单元550-1前进到下一个处理。
切换目标模式选择单元550-1确定设备A的CPU允许时间是否等于或超过C2状态的CPU恢复时间(S1330)。当CPU允许时间等于或超过CPU恢复时间(S1330是)时,切换目标模式选择单元550-1接着确定设备A的总线允许时间是否等于或超过C2状态的总线恢复时间(S1340)。
当总线允许时间等于或超过总线恢复时间(S1340是)时,切换目标模式选择单元550-1选择C2状态作为切换目标模式,并且存储选择的结果在设备信息记录单元310中(S1350)。而且,当设备A的总线允许时间比C2状态的总线恢复时间更短时(S1330否),或当设备A的总线允许时间比C2状态的总线恢复时间更短时(S1340否),切换目标模式选择单元550-1选择C1状态作为切换目标模式,并且存储选择的结果在设备信息记录单元310中(S1360)。
图14示出在修改例子中操作系统的处理的例子。执行模式设置单元540从设备信息记录单元310获得所有输入/输出设备的切换目标模式(S1400)。接着,执行模式设置单元540设置低功率模式作为切换目标模式,该低功率模式下,在由切换目标模式选择单元550-1等等为每个输入输出设备选择的切换目标模式中,CPU恢复时间最短并且总线恢复时间最短(S1410)。
如上所述,基于这个修改例子,通过较少改变现有操作系统的功能的设备驱动程序的功能来适当操作输入/输出设备。
如上所述,使用实施例描述了本发明,然而,本发明的技术范围不限于上述实施例的范围。本领域的技术人员明白,各种改变或修改可以加入上述实施例。根据权利要求书的范围的说明可以明白,通过这种改变或修改而增加的方面也可以结合进本发明的技术范围。
基于上述实施例,实现了在下面相应权项中描述的程序,记录介质,控制方法以及信息处理设备。
尽管已经详细描述本发明的优选实施例,然而应当理解,在不偏离所附权利要求书限定的本发明的宗旨和范围的前提下,可以进行各种变化、替换以及变更。
权利要求
1.一种与信息处理设备一起使用的程序产品,用于指示信息处理设备控制在信息处理设备中提供的中央处理单元的执行模式,中央处理单元具有其可执行处理的类型和功耗彼此不同的多个执行模式,该程序产品包括设备可读介质;在设备可读介质上提供的恢复时间获取装置,用于获得恢复时间,即中央处理单元从低功率模式恢复到功耗高于低功率模式功耗的高功率模式所需的时间;在设备可读介质上提供的允许时间获取装置,用于获得从针对低功率模式下不可处理且高功率模式下可处理的处理的请求,到在中央处理单元恢复到高功率模式之后处理的开始的最长允许时间,其中由信息处理设备的输入/输出设备向中央处理单元发出该请求;以及在设备可读介质上提供的执行模式设置装置,用于在基于允许时间和恢复时间确定中央处理单元能够切换到低功率模式的情况下,把中央处理单元设置到可切换为低功率模式的状态。
2.如权利要求1所述的程序产品,其中中央处理单元在高功率模式下执行指令,并且在低功率模式不执行该指令,允许时间获取装置获得CPU允许时间,即从执行指令的请求到中央处理单元对指令执行的开始的最长允许时间,其中该请求由输入/输出设备向中央处理单元发出,并且在恢复时间短于CPU允许时间的情况下,执行模式设置装置将中央处理单元设置到可切换为低功率模式的状态。
3.如权利要求1所述的程序产品,其中中央处理单元具有高速缓冲存储器,在高功率模式下执行一致性控制,即保持高速缓冲存储器和主存储器之间的一致性,并且在低功率模式下不执行一致性控制,允许时间获取装置获得总线允许时间,即从输入/输出设备访问信息处理设备的主存储器的请求到中央处理单元能够执行一致性控制的状态的最长允许时间,并且执行模式设置装置在恢复时间短于总线允许时间的情况下将中央处理单元设置到可切换为低功率模式的状态。
4.如权利要求3所述的程序产品,其中中央处理单元在高功率模式下执行指令,并且在低功率模式不执行该指令,允许时间获取装置还获得CPU允许时间,即从执行指令的请求到中央处理单元对指令的执行的开始的最长允许时间,其中该请求由输入/输出设备向中央处理单元发出,并且执行模式设置装置还在恢复时间短于CPU允许时间的情况下将中央处理单元设置到可切换为低功率模式的状态。
5.如权利要求1所述的程序产品,其中中央处理单元从高功率模式切换到其功耗相互不同的多个低功率模式中的任何模式,恢复时间获取装置获得中央处理单元从多个低功率模式的每个模式恢复到高功率模式所需的恢复时间,并且执行模式设置装置选择和设置一低功率模式作为中央处理单元从高功率模式切换到的切换目标的低功率模式,其中该低功率模式的恢复时间短于允许时间,并且在多个低功率模式中功耗最低。
6.如权利要求5所述的程序产品,其中信息处理设备包含多个输入/输出设备,允许时间获取装置获得多个输入/输出设备的每个输入/输出设备的允许时间,并且执行模式设置装置选择和设置一低功率模式作为中央处理单元从高功率模式切换到的切换目标的低功率模式,其中该低功率模式的恢复时间短于允许时间获取装置获得的最短允许时间,并且其功耗最低。
7.如权利要求5所述的程序产品,其中,在自从切换目标的低功率模式改变为其功耗高于过去设置的低功率模式的功耗的低功率模式开始,已经过预定设置参考时间的情况下,执行模式设置装置执行把切换目标的低功率模式返回到改变之前的低功率模式的设置。
8.如权利要求7所述的程序产品,其中,在自从切换目标的低功率模式被执行模式设置单元改变为功耗高于改变之前的低功率模式的功耗的低功率模式开始,已经过预定设置参考时间的情况下,允许时间获取单元向用于管理输入/输出设备的设备驱动程序查询允许时间,并且在查询没有被响应的情况下,执行模式设置装置执行把切换目标的低功率模式返回到改变之前的低功率模式的设置。
9.如权利要求1所述的程序产品,其中中央处理单元从高功率模式切换到其功耗相互不同的多个低功率模式中的任何模式,信息处理设备包含多个输入/输出设备,恢复时间获取装置获得中央处理单元从多个低功率模式的每个低功率模式恢复到高功率模式所需的恢复时间,允许时间获取装置获得多个输入/输出设备的每个输入/输出设备的允许时间,该程序产品还包括在设备可读介质上提供的切换目标模式选择装置,用于针对每个输入/输出设备,基于允许时间和恢复时间选择切换目标的低功率模式,其中将由执行模式设置装置在信息处理设备中只提供该输入/输出设备的情况下设置该切换目标,并且执行模式设置装置设置一低功率模式作为切换目标的低功率模式,其中该低功率模式的恢复时间在切换目标模式选择装置针对每个输入/输出设备选择的切换目标的低功率模式中最短。
10.如权利要求1所述的程序产品,其中该程序产品还包括在设备可读介质上提供的允许时间产生装置,用于基于输入/输出设备的工作状态产生输入/输出设备的允许时间,并且允许时间获取装置从允许时间产生装置获得允许时间。
11.如权利要求10所述的程序产品,其中,在输入/输出设备与主存储器传送数据的情况下,允许时间产生装置产生与输入/输出设备不与主存储器传送数据的情况相比较短的时间,以作为允许时间。
12.一种与信息处理设备一起使用的程序产品,用于指示信息处理设备控制信息处理设备中提供的中央处理单元的执行模式,中央处理单元包括高速缓冲存储器,并且具有其中执行高速缓冲存储器和主存储器之间数据一致性控制的高功率模式,以及其中不执行数据一致性控制,其功耗低于高功率模式的功耗的低功率模式,该程序产品包括设备可读介质;设备可读介质上提供的故障检测装置,用于确定低功率模式下在主存储器和信息处理设备的输入/输出设备之间执行的数据传送中是否出现故障;以及设备可读介质上提供的执行模式设置装置,用于在故障出现的情况下把中央处理单元设置为不能切换到低功率模式。
13.一种与信息处理设备一起使用的程序产品,用于指示信息处理设备控制信息处理设备的中央处理单元在其可执行处理的类型和功耗彼此不同的多个执行模式的任何执行模式下操作,其中中央处理单元从高功率模式切换到功耗低于高功率模式的功耗的多个低功率模式的任何低功率模式,该程序产品包括设备可读介质;在设备可读介质上提供的恢复时间获取装置,用于获得恢复时间,即中央处理单元从多个低功率模式的每个低功率模式恢复到高功率模式所需的时间;在设备可读介质上提供的允许时间获取装置,用于获得从针对在多个低功率模式的每个低功率模式下不可处理并且在高功率模式下可处理的处理的请求,到在中央处理单元恢复到高功率模式之后处理的开始的最长允许时间,其中由信息处理设备的输入/输出设备向中央处理单元发出该请求;以及设备可读介质上提供的切换目标模式选择装置,用于基于允许时间和恢复时间,在信息处理设备中提供该输入/输出设备并且未提供其它输入/输出设备的情况下,选择中央处理单元将切换到的切换目标的低功率模式,并且用于输出指示所选择的低功率模式的信息。
14.一种用于控制信息处理设备中提供的中央处理单元的执行模式的控制方法,其中中央处理单元具有多个执行模式,其可执行的处理的类型和功耗彼此不同,该方法包括步骤获得恢复时间,即中央处理单元从低功率模式恢复到功耗高于低功率模式的功耗的高功率模式所需的时间;获得从针对低功率模式下不可处理并且高功率模式下可处理的处理的请求,到中央处理单元恢复到高功率模式之后处理的开始的最长允许时间,其中由信息处理设备的输入/输出设备向中央处理单元发出该请求;以及在基于允许时间和恢复时间确定中央处理单元能够切换到低功率模式的情况下,把中央处理单元设置到可切换为低功率模式的状态。
15.一种用于控制信息处理设备中提供的中央处理单元的执行模式的控制方法,其中中央处理单元包含高速缓冲存储器,具有其中执行高速缓冲存储器和主存储器之间的数据一致性控制的高功率模式,以及其中不执行数据一致性控制,并且功耗低于高功率模式的功耗的低功率模式,该方法包括步骤确定低功率模式下在主存储器和信息处理设备的输入/输出设备之间执行的数据传送中是否出现故障;以及在故障已经出现的情况下,设置中央处理单元为不能切换到低功率模式。
16.一种用于控制信息处理设备的中央处理单元在多个执行模式的任何执行模式下操作的控制方法,所述多个执行模式可执行的处理的类型和功耗彼此不同,其中中央处理单元从高功率模式切换到多个低功率模式的任何低功率模式,所述多个低功率模式为功耗低于高功率模式的功耗的低功耗执行模式,该方法包括步骤获得恢复时间,即中央处理单元从多个低功率模式的每个低功率模式恢复到高功率模式所需的时间;获得从针对在多个低功率模式的每个低功率模式下不可处理并且在高功率模式下可处理的处理的请求,到中央处理单元恢复到高功率模式之后处理的开始的最长允许时间,其中由信息处理设备的输入/输出设备向中央处理单元发出该请求;基于允许时间和恢复时间,在信息处理设备中提供该输入/输出设备并且未提供其它输入/输出设备的情况下,选择中央处理单元将切换到的切换目标低功率模式;以及输出指示所选择的低功率模式的信息。
17.一种信息处理设备,包括中央处理单元,具有多个执行模式,其可执行的处理的类型和功耗彼此不同;输入/输出设备;恢复时间获取装置,用于获得恢复时间,即中央处理单元从低功率模式恢复到作为功耗高于低功率模式的高功耗执行模式的高功率模式所需的时间;允许时间获取装置,用于获得从针对低功率模式下不可处理并且高功率模式下可处理的处理的请求,到中央处理单元恢复到高功率模式之后处理的开始的最长允许时间,其中由信息处理设备的输入/输出设备向中央处理单元发出该请求;以及执行模式设置装置,用于在基于允许时间和恢复时间确定中央处理单元能够切换到低功率模式的情况下,把中央处理单元设置到能够切换为低功率模式的状态。
18.一种信息处理设备,包括高速缓冲存储器;主存储器;中央处理单元,具有高功率模式和功耗低于高功率模式的功耗的低功率模式,其中在高功率模式下执行高速缓冲存储器和主存储器之间的数据一致性控制,并且在低功率模式下不执行;输入/输出设备;故障检测装置,用于确定低功率模式下在主存储器和输入/输出设备之间执行的数据传送中是否出现故障;以及执行模式设置装置,用于在故障已经出现的情况下把中央处理单元设置为不能切换到低功率模式。
全文摘要
指示信息处理设备控制其中央处理单元(CPU)的执行模式的程序产品,CPU具有其可执行处理的类型和功耗彼此不同的多个执行模式,程序产品包括设备可读介质;恢复时间获取装置,用于获得CPU从低功率模式恢复到功耗高于低功率模式功耗的高功率模式所需的恢复时间;允许时间获取装置,用于获得从针对低功率模式下不可处理且高功率模式下可处理的处理的请求,到CPU恢复到高功率模式后处理的开始的最长允许时间,由输入/输出设备发出该请求;及执行模式设置装置,用于在基于允许时间和恢复时间确定CPU能够切换到低功率模式的情况下,把CPU设置到可切换为低功率模式的状态。
文档编号G06F11/00GK1658127SQ20051000798
公开日2005年8月24日 申请日期2005年2月4日 优先权日2004年2月18日
发明者大森裕子, 丸一智己, 吉山典利, 杉浦厚男 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1