本发明涉及计算机领域,特别涉及一种bios切换方法、架构及控制切换方法。
背景技术:
bios不管在intel或amd的系统平台中是一个重要的一环,bios的主要功能是初始化与测试硬件,以及针对储存元件载入启动程式,并由启动程式载入作业系统。现今不管是intel或amd公开平台,都是使用一颗bios来设计。但是bios需要常常更新,但是更新失败或者更新到一半被断电,就会造成整个机器无法开机。
目前现有的dualbios架构如图1所示,利用cpld内部的看门狗,来确认bios是否已经跑完。bios会利用一根讯号来告知cpldbios是否已经跑完,因此看门狗的时间需要设定很长,避免bios还没有跑完却切到第二颗去。在硬体电路的电路上,还需要一个switchic来切换spi的讯号。
现有技术中,系统架构如果很大的话,看门狗需要设计的时间就需要拉长,有时后需要十几分钟,但是如果bios在一开始的时后就已经hangup或者破损,使用者还需要等待这十几分钟才会切换到第二颗bios。
为此需要一种更为灵活效率更高的bios切换方法。
技术实现要素:
有鉴于此,本发明的目的在于提供一种bios切换方法、架构及控制切换方法,更为灵活效率更高。其具体方案如下:
一种bios切换控制方法,应用于控制器,包括:
检测主存储器或备用存储器中当前运行的bios的运行状态;
若所述运行状态为启动状态,则根据所述bios的当前运行任务,发送相应的计时调整信号至cpld,以根据所述bios的当前运行任务动态调整所述cpld中看门狗的计时时间;
若所述运行状态为启动完成状态,则发送bios验证信号和看门狗结束信号至所述cpld,以使所述cpld利用所述bios验证信号判断所述bios是否为主bios,并利用所述看门狗结束信号关闭所述看门狗的计时。
可选的,所述根据所述bios的当前运行任务,发送相应的计时调整信号至cpld,以根据所述bios的当前运行任务动态调整所述cpld中看门狗的计时时间的过程,包括:
根据所述bios的当前运行任务和预设的映射关系,确认出与当前运行任务对应的目标计时时间;
利用所述目标计时时间,生成所述计时调整信号;
发送所述计时调整信号至所述cpld,以动态调整所述cpld中看门狗的计时时间;
其中,所述映射关系为预先建立的所述bios的当前运行任务与计时时间之间的对应关系。
可选的,还包括:
若所述运行状态为正常运行状态,则发送看门狗计时清除信号至所述cpld,以使所述cpld利用所述看门狗计时清除信号清除所述看门狗的计时。
可选的,还包括:
若所述运行状态为预设的计时暂停状态,则发送所述看门狗停止信号至所述cpld,以使所述cpld利用所述看门狗停止信号关闭所述看门狗的计时。
本发明还公开了一种bios切换方法,应用于cpld,包括:
接收开机信号,启动看门狗;
根据控制器发送的所述计时调整信号,调整所述看门狗的计时时间;
接收所述控制器发送的看门狗结束信号,利用所述看门狗结束信号关闭所述看门狗;
当所述看门狗超时,则切换bios,并重新开机;
接收所述控制器发送的bios验证信号,利用所述bios验证信号,判断当前bios是否为主bios,若否,则重新指向所述主bios,以使用户能够操控所述主bios;
其中,所述看门狗结束信号为所述控制器检测到当前运行的bios的运行状态为启动完成时,发送的用于关闭所述看门狗的信号。
可选的,还包括:
接收所述控制器发送的看门狗计时清除信号,清除看门狗计时。
可选的,还包括:
接收所述控制器发送的看门狗停止信号,利用所述看门狗停止信号关闭所述看门狗;
其中,所述看门狗停止信号为所述控制器检测到当前运行的bios的运行状态为计时暂停状态时,发送的用于关闭所述看门狗的信号。
本发明还公开了一种bios切换架构,包括:用于执行如前述方法的控制器、用于执行如前述方法的cpld、主存储器和备用存储器;
所述控制器分别与所述cpld、所述主存储器和所述备用存储器连接,所述cpld分别与所述主存储器和所述备用存储器连接。
可选的,所述控制器为pch或soc。
可选的,所述控制器分别通过cs信号线和lpcbus与所述cpld连接;
所述控制器通过所述lpcbus发送计时调整信号、看门狗计时清除信号、看门狗结束信号、看门狗停止信号和bios验证信号。
可选的,所述cpld分别通过第一cs讯号线和第二cs讯号线与所述主存储器和所述备用存储器连接。
可选的,所述控制器通过时钟与数据线分别与所述主存储器和所述备用存储器连接,用于获取bios的运行状态。
本发明中,bios切换控制方法,应用于控制器,包括:检测主存储器或备用存储器中当前运行的bios的运行状态;若运行状态为启动状态,则根据bios的当前运行任务,发送相应的计时调整信号至cpld,以根据bios的当前运行任务动态调整cpld中看门狗的计时时间;若运行状态为启动完成状态,则发送bios验证信号和看门狗结束信号至cpld,以使cpld利用bios验证信号判断bios是否为主bios,并利用看门狗结束信号关闭看门狗的计时。
本发明利用控制器根据bios的运行状态及运行任务动态调整cpld的看门狗计时时间,一旦bios出现问题,cpld的看门狗能够尽快触发,尽快切换到备用bios重新开机,而不用按照预设的固定计时时间等待,大大加快了开机进度,并且在主bios故障后,也可以通过bios验证信号使cpld重新指向故障的主bios,以便用户能够维护,降低了维护难度,提高了维护效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为现有技术中的dualbios架构图;
图2为本发明实施例公开的一种bios切换控制方法流程示意图;
图3为本发明实施例公开的另一种bios切换控制方法流程示意图;
图4为本发明实施例公开的一种bios控制方法流程示意图;
图5为本发明实施例公开的一种bios切换架构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种bios切换控制方法,参见图2所示,应用于控制器,该方法包括:
s11:检测主存储器或备用存储器中当前运行的bios的运行状态。
具体的,主存储器中存储有主bios,备用存储器中存储有备用biso,默认状态下,在开机后,由主存储器中的主bios运行,执行开机程序,当主存储器中的bios运行失败时,则cpld会切换bios,由备用存储器中备用biso执行新的开机程序,所以并不确定当前运行的bios是否属于主存储器或备用存储器,但无论当前运行的bios归属于哪个设备,控制器均可以正常获取当前运行的bios的运行状态,未处于运行的bios则不用对其操作。
具体的,在bios启动后,控制器会获取当前运行的bios中的运行状态,bios的运行状态可以分为多种包括启动状态、启动完成状态、启动完成状态后的正常运行状态和计时暂停状态等等;不同状态下还可以包括不同的运行任务,这些运行任务耗时长短不一,因此,检测bios的运行状态,以便后续调整看门狗的工组状态和计时时间。
s12:若运行状态为启动状态,则根据bios的当前运行任务,发送相应的计时调整信号至cpld,以根据bios的当前运行任务动态调整cpld中看门狗的计时时间。
具体的,bios的运行状态中的启动状态下包括多种运行任务,每种运行任务所需时间不同,为了节省时间,快速确认bios是否正常运行是否需要切换bios,控制器获取当前运行中的bios的运行状态,并进一步得知当前bios正在执行的运行任务,并利用预先设计的计时时间与运行任务之间的对应关系,根据当前bios所执行的任务,发送相应的计时调整信号至cpld,以实现动态调整cpld中看门狗的计时时间。
例如,当前bios正在执行耗时较短的检测硬件任务,则相应的计时时间可以为较短的6秒,控制器发送相应的计时调整信号至cpld,将cpld的看门狗的计时时间调整为6秒;当前bios正在执行的运行任务变更为耗时较长的检查ram,则相应的计时时间可以为20秒,控制器发送相应的计时调整信号至cpld,将cpld的看门狗的计时时间调整为20秒,实现动态调整cpld中看门狗的计时时间。
可以理解的是,在动态调整cpld看门狗的计时时间前,cpld中看门狗的计时时间为默认值,例如,默认值可以为10秒。
s13:若运行状态为启动完成状态,则发送bios验证信号和看门狗结束信号至cpld,以使cpld利用bios验证信号判断当前bios是否为主bios,并利用看门狗结束信号关闭看门狗的计时。
具体的,若bios启动完成,说明bios运行成功,则发送看门狗结束信号至cpld,不用再继续监测bios。由于当前bios可能为主bios,也可能是主bios出现故障后cpld切换为了备用bios,所以发送bios验证信号至cpld,以使cpld利用bios验证信号判断当前bios是否为主bios,如果是主bios则不用动作,如果是备用bios说明主bios出现故障,为此,cpld需要重新指向主存储器,以使用户能够在开机完成后对主存储器中的主bios进行维护。
可见,本发明实施例利用控制器根据bios的运行状态及运行任务动态调整cpld的看门狗计时时间,一旦bios出现问题,cpld的看门狗能够尽快触发,尽快切换到备用bios重新开机,而不用按照预设的固定计时时间等待,大大加快了开机进度,并且在主bios故障后,也可以通过bios验证信号使cpld重新指向故障的主bios,以便用户能够维护,降低了维护难度,提高了维护效率。
本发明实施例公开了一种具体的方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。参见图3所示,具体的:
s21:检测主存储器或备用存储器中当前运行的bios的运行状态。
s22:若运行状态为启动状态,则根据bios的当前运行任务和预设的映射关系,确认出与当前运行任务对应的目标计时时间。
具体的,预先建立bios的各种运行任务与计时时间之间的对应关系,例如,检测硬件任务所对应的目标计时时间为6秒,检查ram任务所对应的目标计时时间为20秒,这样便可以得到两个运行任务与各自目标计时时间的映射关系。这样当确定出当前运行的bios的运行任务便可以根据预先建立的映射关系,快速确定出相应运行任务所对应的目标计时时间。
s23:利用目标计时时间,生成计时调整信号;
s24:发送计时调整信号至cpld,以动态调整cpld中看门狗的计时时间。
具体的,cpld接收到计时调整信号,便可以根据其中记载的目标计时时间调整自身运行的看门狗的计时时间。
s25:若运行状态为启动完成,则发送bios验证信号和看门狗结束信号至cpld,以使cpld利用bios验证信号判断当前bios是否为主bios,并利用看门狗结束信号关闭看门狗的计时;
s26:若运行状态为正常运行状态,则发送看门狗计时清除信号至cpld,以使cpld利用看门狗计时清除信号清除看门狗的计时。
可以理解的是,若当前bios正在正常运行状态,那么控制器则定时发送看门狗计时清除信号至cpld,以使cpld利用看门狗计时清除信号清除看门狗的计时,避免cpld触发看门狗程序切换bios,重新开机。
s27:若运行状态为预设的计时暂停状态,则发送看门狗停止信号至cpld,以使cpld利用看门狗停止信号关闭看门狗的计时。
具体的,在开机过程中,有时需要人工设置bios,例如,用户进入biossetupmenu界面对bios进行设置或bios执行的某个任务耗时长,例如,checkram任务,则可以预先将此类情况设定为计时暂停状态,此类状态下,bios属于正常运行,但是距离启动完成还需大量时间,为此,可以发送看门狗停止信号至cpld,以使cpld利用看门狗停止信号关闭看门狗的计时,避免cpld中的看门狗误启动。
本发明实施例还公开了一种bios切换方法,参见图4所示,应用于cpld,包括:
s31:接收开机信号,启动看门狗。
具体的,cpld可以检测s3信号是否为高电平,如果是,则证明上电开机,此时,启动看门狗进行计时,以备bios故障时进行切换bios重启。
s32:根据控制器发送的计时调整信号,调整看门狗的计时时间;
s33:接收控制器发送的看门狗结束信号,利用看门狗结束信号关闭看门狗。
其中,看门狗结束信号为控制器检测到当前运行的bios的运行状态为启动完成时,发送的用于关闭看门狗的信号。
s34:当看门狗超时,则切换bios,并重新开机。
具体的,若控制器没有发送看门狗计时清除信号,致使看门狗的计时时间超时,说明当前运行的bios故障,此时切换bios,并重新开机,使用另外一个bios执行开机程序。
可以理解的是,首次开机cpld默认指向主bios,若主bios故障后使用备用bios开机,用户会尽快维护主bios,所以下次开机,还将指向主bios,利用主bios开机。
s35:接收控制器发送的bios验证信号,利用bios验证信号,判断当前bios是否为主bios,若否,则重新指向主bios,以使用户能够操控主bios。
具体的,若当前bios是主bios,则不进行操作,结束对bios的监测。
s36:接收控制器发送的看门狗计时清除信号,清除看门狗计时。
s37:接收控制器发送的看门狗停止信号,利用看门狗停止信号关闭看门狗。
其中,看门狗停止信号为控制器检测到当前运行的bios的运行状态为计时暂停状态时,发送的用于关闭看门狗的信号。
需要说明的是,s33至s37之间没有执行的先后顺序,为并列的执行顺序,在满足条件下执行相应的步骤,例如,接收到相应的控制信号或满足相应的触发条件,不满足则不执行。
可见,本发明实施例利用控制器根据bios的运行状态动态调整cpld的看门狗计时时间,一旦bios出现问题,cpld的看门狗能够尽快触发,尽快切换到备用bios重新开机,而不用按照预设的固定计时时间等待,大大加快了开机进度,并且在主bios故障后,也可以通过bios验证信号使cpld重新指向故障的主bios,以便用户能够维护,降低了维护难度,提高了维护效率。
相应的,本发明实施例还公开了一种bios切换架构,参见图5所示,该交媾包括:用于执行如前述方法的控制器1、用于执行如前述方法的cpld2、主存储器3和备用存储器4;
控制器1分别与cpld2、主存储器3和备用存储器4连接,cpld2分别与主存储器3和备用存储器4连接。
其中,控制器1为pch或soc。
具体的,控制器1分别通过cs信号线cs和lpcbus与cpld2连接;
控制器1通过lpcbus发送计时调整信号、看门狗计时清除信号、看门狗结束信号、看门狗停止信号和bios验证信号。
具体的,cpld2分别通过第一cs讯号线cs1和第二cs讯号线cs2与主存储器3和备用存储器4连接。
具体的,控制器1通过时钟与数据线clk&data分别与主存储器3和备用存储器4连接,用于获取bios的运行状态。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本发明所提供的技术内容进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
1.一种bios切换控制方法,其特征在于,应用于控制器,包括:
检测主存储器或备用存储器中当前运行的bios的运行状态;
若所述运行状态为启动状态,则根据所述bios的当前运行任务,发送相应的计时调整信号至cpld,以根据所述bios的当前运行任务动态调整所述cpld中看门狗的计时时间;
若所述运行状态为启动完成状态,则发送bios验证信号和看门狗结束信号至所述cpld,以使所述cpld利用所述bios验证信号判断所述bios是否为主bios,并利用所述看门狗结束信号关闭所述看门狗的计时。
2.根据权利要求1所述的bios切换控制方法,其特征在于,所述根据所述bios的当前运行任务,发送相应的计时调整信号至cpld,以根据所述bios的当前运行任务动态调整所述cpld中看门狗的计时时间的过程,包括:
根据所述bios的当前运行任务和预设的映射关系,确认出与当前运行任务对应的目标计时时间;
利用所述目标计时时间,生成所述计时调整信号;
发送所述计时调整信号至所述cpld,以动态调整所述cpld中看门狗的计时时间;
其中,所述映射关系为预先建立的所述bios的当前运行任务与计时时间之间的对应关系。
3.根据权利要求1或2所述的bios切换控制方法,其特征在于,还包括:
若所述运行状态为正常运行状态,则发送看门狗计时清除信号至所述cpld,以使所述cpld利用所述看门狗计时清除信号清除所述看门狗的计时。
4.根据权利要求1或2所述的bios切换控制方法,其特征在于,还包括:
若所述运行状态为预设的计时暂停状态,则发送所述看门狗停止信号至所述cpld,以使所述cpld利用所述看门狗停止信号关闭所述看门狗的计时。
5.一种bios切换方法,其特征在于,应用于cpld,包括:
接收开机信号,启动看门狗;
根据控制器发送的所述计时调整信号,调整所述看门狗的计时时间;
接收所述控制器发送的看门狗结束信号,利用所述看门狗结束信号关闭所述看门狗;
当所述看门狗超时,则切换bios,并重新开机;
接收所述控制器发送的bios验证信号,利用所述bios验证信号,判断当前bios是否为主bios,若否,则重新指向所述主bios,以使用户能够操控所述主bios;
其中,所述看门狗结束信号为所述控制器检测到当前运行的bios的运行状态为启动完成时,发送的用于关闭所述看门狗的信号。
6.根据权利要求5所述的bios切换方法,其特征在于,还包括:
接收所述控制器发送的看门狗计时清除信号,清除看门狗计时。
7.根据权利要求5所述的bios切换方法,其特征在于,还包括:
接收所述控制器发送的看门狗停止信号,利用所述看门狗停止信号关闭所述看门狗;
其中,所述看门狗停止信号为所述控制器检测到当前运行的bios的运行状态为计时暂停状态时,发送的用于关闭所述看门狗的信号。
8.一种bios切换架构,其特征在于,包括:用于执行如权利要求1至4任一项所述方法的控制器、用于执行如权利要求5至7任一项所述方法的cpld、主存储器和备用存储器;
所述控制器分别与所述cpld、所述主存储器和所述备用存储器连接,所述cpld分别与所述主存储器和所述备用存储器连接。
9.根据权利要求8所述的bios切换架构,其特征在于,所述控制器为pch或soc。
10.根据权利要求9所述的bios切换架构,其特征在于,所述控制器分别通过cs信号线和lpcbus与所述cpld连接;
所述控制器通过所述lpcbus发送计时调整信号、看门狗计时清除信号、看门狗结束信号、看门狗停止信号和bios验证信号。
11.根据权利要求10所述的bios切换架构,其特征在于,所述cpld分别通过第一cs讯号线和第二cs讯号线与所述主存储器和所述备用存储器连接。
12.根据权利要求11所述的bios切换架构,其特征在于,所述控制器通过时钟与数据线分别与所述主存储器和所述备用存储器连接,用于获取bios的运行状态。
技术总结