一种调节便携式数据处理系统启动速度的方法

文档序号:6633925阅读:351来源:国知局
专利名称:一种调节便携式数据处理系统启动速度的方法
技术领域
本发明涉及数据处理系统的启动技术,尤其是涉及一种调节便携式数据处理系统启动速度的方法。
背景技术
随着信息技术的发展,笔记本计算机的应用日益广泛。不同用户使用笔记本计算机时,对于笔记本计算机会有不同的需求。例如,有的用户是经常使用Linux的程序员,启动计算机时只需要初始化一些简单设备即可,此类用户一般要求计算机启动速度尽量快,而不需要初始化后续可能用不着的部件;有的用户附近可能不存在无线网络,则无需对无线网卡进行初始化;有的用户则比较重视系统的稳定性,而对时间的要求不高甚至完全没有,此类用户希望在开机的时候最好能将所有设备测试一遍。针对所述具有不同要求的用户群,传统的解决途径是订制不同规格的BIOS(基本输入/输出系统)来满足其不同的需求。
现有技术中,笔记本计算机的CMOS Setup菜单中具有fast boot选项。在用户选中该选项以后,笔记本计算机会省略BIOS中很多不是必须的过程,以达到节省启动时间的目的。该现有技术的缺陷在于只存在两种启动状态,可操作性较少,无法满足多类用户的需求;而且即使是fast boot也仍然存在较多的浪费,其启动速度依然有待提高。
另一种现有技术的方案是通过外接USB或串口设备跟笔记本计算机通信,以启动笔记本计算机并传递参数给BIOS,BIOS根据不同的参数构建不同的初始环境,然后再调用不同的操作系统。但是,该现有技术也存在一些不足之处例如需要改变笔记本计算机的现有结构,还需要增加外部设备,而且无法做到随时按需调节;此外,该现有技术只能起到调节启动速度的效果,而无法控制内部设备的电源的开关,而造成电力的浪费、并且产生噪音和较多的热量。
有鉴于此,需要开发一种新型的能够有效调节笔记本计算机启动速度的方法。

发明内容
针对现有技术的不足,本发明解决的技术问题在于提供一种调节便携式数据处理系统启动速度的方法,可以随时根据用户的需求来调节启动速度。
在此基础上,本发明解决的另一技术问题在于提供一种调节便携式数据处理系统启动速度的方法,可以在调节启动速度的同时关闭暂时无需使用的设备电源,既节电又减少散热和噪音。
为此,本发明解决技术问题的技术方案是提供一种调节便携式数据处理系统启动速度的方法,包括步骤1)开机时,系统BIOS将CMOS芯片保存的初始启动值传送到EC芯片;2)系统BIOS运行基本模块;3)系统BIOS发送指令至EC芯片;4)EC芯片接收到所述指令后更新当前启动值;比较当前启动值和其保存的初始启动值;其中,EC芯片保存的初始启动值根据用户输入的操作信息实时更新;5)EC芯片根据前述比较结果向系统BIOS发送返回值;6)系统BIOS根据所述返回值执行下一附加模块或者进入步骤8);7)系统BIOS执行附加模块完毕后,如果当前执行的模块是最后的模块,则转入步骤8);如果当前执行的模块不是最后的模块,则返回步骤3);8)系统BIOS调用操作系统。
优选地,还包括所述步骤4)还包括EC芯片根据初始启动值的实时更新来实现相应的硬件电源的动态打开/关闭。
优选地,所述步骤4)还包括EC芯片判断开机阶段标志是否为预定值,如果是,则根据初始启动值实现相应的硬件电源的动态打开/关闭;如果否,则不进行操作。
优选地,所述步骤4)的用户的操作信息输入通过系统键盘的热键实现。
优选地,所述步骤4)中,当用户按加速键时减小初始启动值;当用户按减速键时增加初始启动值。
优选地,还包括当系统关机时,通过I/O操作将EC芯片中的初始启动值读出来并保存在CMOS中。
优选地,所述步骤4)的更新当前启动值是指增加当前启动值。
优选地,所述步骤5)的发送返回值具体是如果当前启动值大于初始启动值,则返回不再继续的标志;否则返回继续执行的标志。
优选地,所述步骤6)中,系统BIOS根据不再继续的标志转入步骤8);根据继续执行的标志执行下一附加模块。
相对于现有技术,本发明的有益效果是由于本发明的系统BIOS和EC芯片中的程序分别区分为多个模块,并且由EC芯片根据当前启动值和初始启动值的比较结果向系统BIOS发送返回值,控制系统BIOS是继续执行下一模块还是直接调用操作系统,而初始启动值可以根据用户输入的操作信息进行实时更新,因此根据用户的设置,将一些不需要的过程去掉,而且不需要的设备不进行初始化,以达到加快启动速度的目的;并且本发明的实施不需要改变数据处理系统的现有结构,也不需要增加任何的外部设备,而且随时都可以按需要调节,与现有技术相比可以提供更多的选择,适合各类用户的需求;而且功能更强,启动速度也更快。本发明能够让不同的用户按照自己的需求对系统进行设置,以获得适合自己的启动配置。
优选地,本发明还可以通过EC芯片根据初始启动值的变动将不需要的设备的电源关掉,既节电又减少散热和噪音。
当本发明应用于笔记本计算机时,容易产品化,不需要改变现有笔记本计算机的架构,也不必增加任何外部设备,适合现今的任何笔记本计算机。可以加快笔记本计算机的启动速度,最快可以将系统BIOS启动速度压缩在2秒内。使用户拥有更多的选择,能够使同一款电脑同一款BIOS适应更多用户的需求。
并且,本发明方便使用,只要开机以后任何时候都可以进行调节和设定。使用不受限制,只要开机就可以操作了,不需要等KBC初始化完,也不需要产生中断。能够切断不需要设备的电源,非常省电,减少散热及制冷产生的噪音。


图1是实施本发明方法的笔记本计算机的示意图;图2是图1所示CMOS芯片中的程序模块示意图;
图3是图1所示EC芯片中的程序模块示意图;图4是本发明的方法中CMOS的工作流程图;图5是本发明的方法中EC的工作流程图。
具体实施例方式
本发明的主要构思在于将系统的BIOS和EC芯片内部的程序都区分为多个模块,并且在EC内部设置特定的标志位,以随时接受用户的输入来调节需要运行的程序模块,从而达到随时调节系统的启动速度的目的。
请参阅图1,是实施本发明方法的笔记本计算机的示意图。
该笔记本计算机包括EC(Embedded Controller)芯片110、启动值信息输入单元120、CMOS芯片130。
EC芯片110在笔记本计算机中有着相当重要的作用,主要用于控制I/O的周边设备,例如键盘、鼠标、触控板等。
EC芯片110中一般内建某种型号的微处理器(如8032),可以让笔记本计算机完成各种复杂的ACPI电源管理(包括风扇控制管理)等等。EC芯片110可以通过GPO的高低电平来控制开关电路,从而将某个硬件的电源接通或切断。
EC芯片110除了本身硬件之外,还需要内部的EC程序来实现其功能。
启动值信息输入单元120用于用户向笔记本计算机输入启动值修改信息(详后述)。
CMOS芯片130用于存放BIOS,BIOS是被固化在CMOS芯片130上的一组程序,为笔记本计算机提供最低级的、最直接的硬件控制与支持,主要负责解决硬件的即时需求,并按软件对硬件的操作要求具体执行;负责在计算机开启时检测、初始化系统设备、装入操作系统并调度操作系统向硬件发出的指令。
请一并参阅图2,本发明将系统BIOS分成多个模块,包括基本模块(第0模块)和附加模块(第1模块、第2模块…第n模块)。
基本模块属于kemel,是任何操作系统都必须运行的(比如初始化CPU,内存);后边的附加模块(比如声卡、网卡、USB,甚至一些自己添加的应用程序入口),具体可以根据设计需要任意组合。
此外,CMOS芯片130中还存放初始启动值(BootValue)。该初始启动值可以采用一个字节(Byte)来记录。
请一并参阅图3,与系统BIOS相对应,本发明进一步将EC芯片110中的程序也设立成多个不同的程序模块,分别对应打开/关闭系统BIOS中相应模块的电源,包括基础模块(第0模块)和附属模块(第1模块、第2模块…第n模块)。其中,模块0的电源任何时候都是打开的。
此外,EC芯片110中用一个Byte来记录初始启动值,记为BootValue;另外用一个Byte来表示当前启动值,记为CurrentValue,每次开机时将当前启动值初始化为0。
请参阅图4,是本发明的方法中CMOS的工作流程图。
步骤S410,当用户在按下Power button(电源键)时,笔记本计算机开机。
步骤S420,系统BIOS开始运行时的第一个动作就是将CMOS芯片130中的初始启动值通过I/O操作(可以采用60H/64H60H为data数据口;64H为command命令口)传给EC芯片110,EC芯片110将之记录在初始启动值BootValue中。
由于笔记本计算机系统中,EC芯片110是在系统BIOS运行之前就工作的,所以初始启动值能顺利传给EC芯片110。
步骤S420,系统BIOS运行第0模块。
步骤S430,当第0模块执行完毕后,系统BIOS往64H下发一个command(比如设为99H);EC芯片110收到指令后将当前启动值CurrentValue加1;然后与初始启动值BootValue比较,如果(CurrentValue<=BootValue),则往60H返回一个继续执行的标志(比如55H);如果(CurrentValue>BootValue),则往60H返回不再继续的标志(比如AAH)。
随后,系统BIOS并在60H位置读出返回值,进行相应处理如果读到55H,则进入步骤S440;读到AAH,则进入步骤S490。
步骤S440,继续执行下一个模块。
步骤S450,待下一模块执行完毕,则重复与EC芯片110的通信,以决定后续的处理过程进行步骤S460还是步骤S490。
同样,如果步骤S460执行的不是最后的附加模块,则继续执行步骤S470。
步骤S480,执行第n模块,执行完毕不进行与EC芯片110的通信,跳到步骤S490。
步骤S490,跳到最后OS Loader(操作系统调入)部分,调用操作系统。
因此,如果用户在执行过程中通过启动值信息单元120输入更新的初始启动值对BootValue进行修改,会相应影响到BIOS中后续模块是否执行,从而达到随时调节启动速度的目的。
请参考图5,与此同时,由于BootValue发生改变,EC芯片110会关闭掉不被执行的模块中硬件的电源。
步骤S510,判断开机阶段标志Flag是否为0;如果是,则进入步骤S520;如果为1,则进入步骤S540。
步骤S520,读取EC芯片110中的BootValue。
步骤S530,根据BootValue的改变实现相应的硬件电源的动态打开/关闭。
由于EC芯片110中的程序是不断循环执行的,所以能够根据BootValue的改变动态的打开/关闭相应的硬件电源。
此外,在程序中设置Flag的作用在于减少必要的麻烦在开机时初始化为0,进入操作系统后设置为1,使得在操作系统中改变BootValue的值只会影响到下一次开机时的启动值,而不会开关电源。
启动值信息输入单元120的一个具体实例是在笔记本键盘上设定的两个热键,一个是加速键(比如Fn+PageUP),一个是减速键(比如Fn+PageDown)。当加速键按下时BootValue值减少;当减速键按下是BootValue值增加,即该值由按键控制在0至0xFF中变化。
这样,如果用户按加速键或者减速键从而改变了BootValue;则由于BootValue的改变,会影响到BIOS中后续模块是否执行,由此达到调节BIOS启动速度的目的。
并且,由于EC芯片110中的程序是独立执行的,所以只要开机以后,不论在POST过程中,还是进入操作系统后,都能够通过按加速键或者减速键来改变BootValue,以调节开机时的启动速度。
此外,在每次关机时,通过I/O操作将EC芯片110中的BootValue读出来,并保存在CMOS中,以备下次启动时使用,就不用每次开机都重新设置。
为便于对本发明的理解,下面描述一个支持3种启动方案的实施例。
该实施例中,系统BIOS中的模块分为模块0,为kernel部分,包括CPU、内存、硬盘、键盘、鼠标等的初始化。
模块1,则包括了声卡、无线网卡的初始化。
模块2,则包括一个测试软件的loader。
EC程序的模块分为模块0电源打开,该部分任何时候都打开。
模块1电源打开,包括打开声卡电源,打开无线网卡电源。
模块1电源关闭,包括关闭声卡电源,关闭无线网卡电源。
模块2电源打开,无操作。
模块2电源关闭,无操作。
情况一当用户在开机时,不断按下加速键,BootValue减到最小(=0);当系统BIOS执行完行模块0部分后,往64H口写99H;EC收到99H后将CurrenValue(=0)加1与BootValue比较,发现大于后者,即返回AAH;系统BIOS在60H口获得AAH后,即跳到最后开始调用操作系统;于是模块1,模块2都不被执行;以后开机时也不会再执行,除非重新设置。
同时,由于BootValue=0,EC会把模块1、模块2的电源关闭,也就是把声卡和无线网卡的电源切断。这样进操作系统以后就不会有声卡和无线网卡了。
情况二则当用户在开机时,按下减速键,将BootValue设为1;当系统BIOS执行完模块0部分后,往64H口写99H;EC收到99H后将CurrenValue(=0)加1与BootValue比较,发现等于后者,即返回55H;系统BIOS在60H口获得55H后,便继续执行模块1;当执行完行模块1部分后,再次往64H口写99H;EC收到99H后将CurrenValue(=1)加1与BootValue比较;发现大于后者,即返回AAH;系统BIOS在60H口获得AAH后,即跳到最后开始调用操作系统;于是模块0和模块1被执行了,而模块2则没有执行。
同时由于BootValue=1,EC会把模块1的电源打开,模块2的电源关闭,也就是把声卡和无线网卡的电源接通。这样,操作系统中声卡和无线网卡便可正常使用。
情况三则当用户在开机时,将BootValue设为2;此时系统BIOS所有模块都会运行,EC控制的所有电源也都会打开。这样,在进入操作系统之前,会先把测试软件调用起来,执行完了再进入操作系统,所有设备都可正常使用。
综上所述,通过实施本发明,用户将安装有BIOS的笔记本打开时,在按下电源开关之后就可以通过按下加速键或者减速键,从而改变BootValue,让BIOS的启动速度加快或者减慢,而一些不需要的硬件设施也将不会被初始化也不会有供电。此时设定的值将影响以后的启动状态,不用每次都设定。
也可以等进入操作系统后再通过按下加速键或者减速键,从而改变BootValue,此时的设定虽然不会立刻改变现有的硬件状态也不会开关电源,但该值将影响以后的启动状态,而那些不需要的硬件设施也将在今后的启动时不会被初始化也不会有供电。
这样不同的用户可以根据自己的需求不同,来设定Bootvalue,以获得适合自己的硬件配置和启动速度。能够达到节省时间、节省资源、省电、静噪的目的。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种调节便携式数据处理系统启动速度的方法,其特征在于,包括步骤1)开机时,系统BIOS将CMOS芯片保存的初始启动值传送到EC芯片;2)系统BIOS运行基本模块;3)系统BIOS发送指令至EC芯片;4)EC芯片接收到所述指令后更新当前启动值;比较当前启动值和其保存的初始启动值;其中,EC芯片保存的初始启动值根据用户输入的操作信息实时更新;5)EC芯片根据前述比较结果向系统BIOS发送返回值;6)系统BIOS根据所述返回值执行下一附加模块或者进入步骤8);7)系统BIOS执行附加模块完毕后,如果当前执行的模块是最后的模块,则转入步骤8);如果当前执行的模块不是最后的模块,则返回步骤3);8)系统BIOS调用操作系统。
2.根据权利要求1所述的调节便携式数据处理系统启动速度的方法,其特征在于,还包括所述步骤4)还包括EC芯片根据初始启动值的实时更新来实现相应的硬件电源的动态打开/关闭。
3.根据权利要求2所述的调节便携式数据处理系统启动速度的方法,其特征在于,所述步骤4)还包括EC芯片判断开机阶段标志是否为预定值,如果是,则根据初始启动值实现相应的硬件电源的动态打开/关闭;如果否,则不进行操作。
4.根据权利要求1所述的调节便携式数据处理系统启动速度的方法,其特征在于,所述步骤4)的用户的操作信息输入通过系统键盘的热键实现。
5.根据权利要求4所述的调节便携式数据处理系统启动速度的方法,其特征在于,所述步骤4)中,当用户按加速键时减小初始启动值;当用户按减速键时增加初始启动值。
6.根据权利要求1所述的调节便携式数据处理系统启动速度的方法,其特征在于,还包括当系统关机时,通过I/O操作将EC芯片中的初始启动值读出来并保存在CMOS中。
7.根据权利要求1所述的调节便携式数据处理系统启动速度的方法,其特征在于,所述步骤4)的更新当前启动值是指增加当前启动值。
8.根据权利要求1所述的调节便携式数据处理系统启动速度的方法,其特征在于,所述步骤5)的发送返回值具体是如果当前启动值大于初始启动值,则返回不再继续的标志;否则返回继续执行的标志。
9.根据权利要求8所述的调节便携式数据处理系统启动速度的方法,其特征在于,所述步骤6)中,系统BIOS根据不再继续的标志转入步骤8);根据继续执行的标志执行下一附加模块。
全文摘要
本发明公开一种调节便携式数据处理系统启动速度的方法,包括步骤开机时,系统BIOS将CMOS芯片保存的初始启动值传送到EC芯片;系统BIOS运行基本模块;系统BIOS发送指令至EC芯片;EC芯片接收到所述指令后更新当前启动值;比较当前启动值和其保存的初始启动值;其中,EC芯片保存的初始启动值根据用户输入的操作信息实时更新;EC芯片根据前述比较结果向系统BIOS发送返回值;系统BIOS根据所述返回值执行下一附加模块或者调用操作系统;系统BIOS执行附加模块完毕后,如果当前执行的模块是最后的模块,则调用操作系统;如果当前执行的模块不是最后的模块,则继续前述过程。
文档编号G06F9/445GK1904832SQ20051008881
公开日2007年1月31日 申请日期2005年7月29日 优先权日2005年7月29日
发明者黄瑱 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1