实现不同处理器兼容的方法及装置转让专利

申请号 : CN201180001895.5

文献号 : CN102388366B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 廖义祥吴登奔张羽

申请人 : 华为技术有限公司

摘要 :

一种实现不同处理器兼容的方法及装置,该方法包括:在单板待机状态,获取配置信息及所述单板上的处理器的型号;如果所述配置信息中的处理器型号与所述处理器的型号不同,则根据所述处理器更新所述配置信息中与所述处理器相关的参数,并更改FLASH存储器片选配置,以使所述处理器与存储有该处理器BIOS程序的FLASH存储器相连。

权利要求 :

1.一种实现不同处理器兼容的方法,其特征在于,包括:

在单板待机状态,分别获取系统配置信息及所述单板上的处理器的型号,所述单板上设置有至少两个分别存储了对应不同处理器BIOS程序的FLASH存储器;

如果所述系统配置信息中的处理器型号与所述处理器的型号不同,则根据所述处理器的型号更新所述系统配置信息中与所述处理器相关的参数,并更改FLASH存储器片选配置,使所述处理器与存储有该处理器BIOS程序的FLASH存储器相连。

2.根据权利要求1所述的方法,其特征在于,所述获取系统配置信息包括:通过系统配置文件获取所述系统配置信息。

3.根据权利要求1所述的方法,其特征在于,所述获取所述单板上的处理器的型号包括:通过系统管理总线读取所述单板上的处理器的PIROM,获取所述处理器的型号。

4.根据权利要求1所述的方法,其特征在于,所述更改FLASH存储器片选配置包括:通过直接改变所述处理器的跳线配置更改FLASH存储器片选配置;或者通过读写可编程逻辑器件的寄存器更改FLASH存储器片选配置。

5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:更改FLASH存储器片选配置后,为所述单板上电;

如果所述系统配置信息中的处理器型号与所述处理器的型号相同,则为所述单板上电。

6.一种实现不同处理器兼容的装置,其特征在于,包括:设置在一个单板上的处理器,至少两个分别存储了对应不同处理器BIOS程序的FLASH存储器,以及基板管理控制器;

所述基板管理控制器,用于在所述单板待机状态,分别获取系统配置信息及所述处理器的型号,并且在所述系统配置信息中的处理器型号与所述处理器的型号不同时,根据所述处理器的型号更新所述系统配置信息中与所述处理器相关的参数,并更改FLASH存储器片选配置,使所述处理器与存储有该处理器BIOS程序的FLASH存储器相连。

7.根据权利要求6所述的装置,其特征在于:

所述处理器通过不同管脚分别与各FLASH存储器相连;

所述基板管理控制器通过系统管理总线与所述处理器相连,并通过改变所述处理器的跳线配置更改FLASH存储器片选配置,使所述处理器与存储有该处理器BIOS程序的FLASH存储器相连。

8.根据权利要求6所述的装置,其特征在于,所述装置还包括:分别与所述基板管理控制器和所述处理器相连的可编程逻辑器件;

所述处理器通过不同管脚分别与各FLASH存储器相连;

所述基板管理控制器通过读写所述可编程逻辑器件的寄存器更改FLASH存储器片选配置,使所述处理器与存储有该处理器BIOS程序的FLASH存储器相连。

9.根据权利要求6所述的装置,其特征在于,所述装置还包括:分别与所述基板管理控制器、处理器和各FLASH存储器相连的FLASH选择器;

所述基板管理控制器通过控制所述FLASH选择器更改FLASH存储器片选配置,使所述处理器与存储有该处理器BIOS程序的FLASH存储器相连。

10.根据权利要求6所述的装置,其特征在于,所述装置还包括:与所述基板管理控制器相连的可编程逻辑器件、以及分别与所述可编程逻辑器件、处理器和各FLASH存储器相连的FLASH选择器;

所述基板管理控制器通过读写所述可编程逻辑器件的寄存器控制所述FLASH选择器;

所述FLASH选择器根据所述基板管理控制器的控制更改FLASH存储器片选配置,使所述处理器与存储有该处理器BIOS程序的FLASH存储器相连。

11.根据权利要求6至10任一项所述的装置,其特征在于,

所述基板管理控制器,还用于在更改FLASH存储器片选配置后,为所述单板上电,以及在所述配置信息中的处理器型号与所述处理器的型号相同时,为所述单板上电。

说明书 :

实现不同处理器兼容的方法及装置

技术领域

[0001] 本发明涉及计算机技术领域,具体涉及一种实现不同处理器兼容的方法及装置。

背景技术

[0002] 在目前的市场上,存在不同品牌的处理器,在硬件方面,如果不同的处理器实现了管脚到管脚(Pin to Pin)兼容,可以方便地做到单板复用,也就是说在一个单板上,只需要更换CPU,就可以实现性能的升级。但由于不同处理器之间内存控制、QPI(Quick Path Interconnect,快速通道互联)实现、CPU构架等方面的不同,导致BIOS(Basic Input/output System,基本输入输出系统)要想从代码层面来实现不同处理之间的兼容,并非易事。
[0003] 为此,在现有技术中,通常采用以下两种方法实现不同处理器之间的兼容:
[0004] 1.BIOS程序被保存在单板的FLASH设备上,在单板上电过程中,CPU会默认将FLASH存储器中的代码映射到内存空间,然后从某一地址启动BIOS程序。BIOS在启动过程中,会根据CPU不同型号及构架,进行不同的分支处理。也就是说,在一套代码中,在BIOS内部根据不同的CPU进行不同的处理。
[0005] 这种方式不仅代码量大,而且代码内部处理逻辑复杂,维护及扩展困难。
[0006] 2.根据不同CPU,向单板的FLASH存储器中烧写不同的BIOS程序,来实现不同CPU的兼容。
[0007] 这种方式首先用户需要知道如何烧写BIOS,其次用户还要知道哪个CPU使用哪个版本的BIOS,而且一旦烧写出错,还会导致整个单板无法正常启动。
[0008] 可见这两种方法实现不同处理器之间兼容方法的实现较为复杂,且操作繁琐。

发明内容

[0009] 本发明实施例针对上述现有技术存在的问题,提供一种实现不同处理器兼容的方法及装置,简单、方便地实现单一硬件平台支持多种不同的处理器。
[0010] 为了解决以上技术问题,本发明实施例采用如下技术方案:
[0011] 一种实现不同处理器兼容的方法,包括:
[0012] 在单板待机状态,分别获取系统配置信息及所述单板上的处理器的型号,所述单板上设置有至少两个分别存储了对应不同处理器BIOS程序的FLASH存储器;
[0013] 如果所述系统配置信息中的处理器型号与所述处理器的型号不同,则根据所述处理器的型号更新所述系统配置信息中与所述处理器相关的参数,并更改FLASH存储器片选配置,使所述处理器与存储有该处理器BIOS程序的FLASH存储器相连。
[0014] 一种实现不同处理器兼容的装置,包括:设置在一个单板上的处理器,至少两个分别存储了对应不同处理器BIOS程序的FLASH存储器,以及基板管理控制器;
[0015] 所述基板管理控制器,用于在所述单板待机状态,分别获取系统配置信息及所述处理器的型号,并且在所述系统配置信息中的处理器型号与所述处理器的型号不同时,根据所述处理器的型号更新所述系统配置信息中与所述处理器相关的参数,并更改FLASH存储器片选配置,使所述处理器与存储有该处理器BIOS程序的FLASH存储器相连。
[0016] 本发明实施例提供的实现不同处理器兼容的方法及装置,在单板上设置至少两个分别存储了对应不同处理器BIOS程序的FLASH存储器,在单板待机状态,获取系统配置信息及所述单板上的处理器的型号,从而可以根据处理器的型号,自动控制FLASH存储器的片选,在所述系统配置信息中的处理器型号与所述处理器的型号不同时,根据所述处理器的型号更新所述系统配置信息中与所述处理器相关的参数,并更改FLASH存储器片选配置,使所述处理器与存储有该处理器BIOS程序的FLASH存储器相连。不仅简化了BIOS程序设计,而且无需用户手工烧录BIOS程序,即可使单一硬件平台支持多种不同的处理器,便于BIOS程序的更新及维护,方便用户使用。

附图说明

[0017] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0018] 图1是本发明实现不同处理器兼容的方法实施例的流程图;
[0019] 图2是应用本发明实施例实现不同处理器兼容的方法单板上电过程的流程图;
[0020] 图3是本发明实现不同处理器兼容的装置第一实施例的结构示意图;
[0021] 图4是本发明实现不同处理器兼容的装置第二实施例的结构示意图;
[0022] 图5是本发明实现不同处理器兼容的装置第三实施例的结构示意图;
[0023] 图6是本发明实现不同处理器兼容的装置第四实施例的结构示意图。

具体实施方式

[0024] 为了使本技术领域的人员更好地理解本发明实施例的方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。
[0025] 本发明实施例提供的实现不同处理器兼容的方法及装置,在单板上设置至少两个分别存储了对应不同处理器BIOS程序的FLASH存储器,在单板待机状态,获取系统配置信息及所述单板上的处理器的型号,从而可以根据处理器的型号,自动控制FLASH存储器的片选,在所述系统配置信息中的处理器型号与所述处理器的型号不同时,根据所述处理器的型号更新所述系统配置信息中与所述处理器相关的参数,并更改FLASH存储器片选配置,使所述处理器与存储有该处理器BIOS程序的FLASH存储器相连。
[0026] 如图1所示,是本发明实现不同处理器兼容的方法实施例的流程图,包括以下步骤:
[0027] 步骤101,在单板待机状态,获取系统配置信息及所述单板上的处理器的型号,所述单板上设置有至少两个分别存储了对应不同处理器BIOS(Basic Input/Output System,基本输入输出系统)程序的FLASH存储器。
[0028] 具体地,可以由BMC(Baseboard Management Controller,基板管理控制器)读取配置文件,获取系统配置信息,在该系统配置信息中包含了处理器的型号信息。另外,基板管理控制器还可以通过SMBus(System Management Bus,系统管理总线)读取单板上的处理器的PIROM(Processor Information Read-Only Memory,处理器信息只读存储器),获取该处理器的型号。
[0029] 步骤102,如果上述系统配置信息中的处理器型号与所述处理器的型号不同,则根据所述处理器的型号更新所述系统配置信息中与所述处理器相关的参数,并更改FLASH存储器片选配置,使所述处理器与存储有该处理器BIOS程序的FLASH存储器相连。
[0030] 由于本发明实施例的单板上设置了多个与不同处理器对应的FLASH存储器,以存储相应处理器的BIOS程序。因此,需要系统配置信息中的处理器型号及启动的BIOS程序与所述单板上实际安装的处理器的型号相对应,否则该处理器将无法正常运行。
[0031] 因此,可以由基板管理控制器通过比较系统配置信息中的处理器型号与获取的单板上实际安装的处理器的型号,在两者不同时,不仅要更改系统配置信息中与该处理器相关的参数,比如,处理器型号信息,以保证系统配置信息的准确性,而且,还要更改FLASH存储器片选配置,使所述处理器与存储有该处理器BIOS程序的FLASH存储器相连,保证在单板上电后,启动正确的BIOS程序,使处理器的正常运行。
[0032] 在具体应用时,可以通过直接改变所述处理器的跳线配置更改FLASH存储器片选配置;或者通过读写可编程逻辑器件的寄存器更改FLASH存储器片选配置,当然,还可以采用其它方式更改FLASH存储器片选配置,对此本发明实施例不做限定。
[0033] 利用本发明实施例实现不同处理器兼容的方法,可以实现多种不同处理器管脚到管脚的兼容,不仅简化了BIOS程序设计,而且无需用户手工烧录BIOS程序,即可使单一硬件平台支持多种不同的处理器,便于BIOS程序的更新及维护,方便用户使用。
[0034] 本发明实施例实现不同处理器兼容的方法可以适用于各种不同的单板及处理器,而且该实施例方法中的全部或部分步骤可借助软件加必要的通用硬件平台的方式来实现,比如,由基板管理控制器实现上述流程。
[0035] 如图2所示,是应用本发明实施例实现不同处理器兼容的方法单板上电过程的流程图。
[0036] 步骤201,在单板待机状态,基板管理控制器分别获取系统配置信息及所述单板上的处理器的型号。
[0037] 步骤202,判断上述系统配置信息中的处理器型号与上述单板上的处理器的型号是否相同;如果是,则执行步骤203;否则,执行步骤205。
[0038] 步骤203,根据上述处理器的型号更新所述系统配置信息中与所述处理器相关的参数。
[0039] 步骤204,更改FLASH存储器片选配置,使上述处理器与存储有该处理器BIOS程序的FLASH存储器相连。
[0040] 步骤205,为上述单板上电。
[0041] 可见,利用本发明实施例实现不同处理器兼容的方法,无论用户使用何种型号的处理器,只要在单板上设置了存储有该处理器BIOS程序的FLASH存储器,都可以自动保证单板上处理器的正常启动,从而实现多种不同处理器管脚到管脚的兼容,方便了用户的操作及使用。
[0042] 相应地,本发明实施例还提供一种实现不同处理器兼容的装置,该装置包括:包括:设置在一个单板上的处理器,至少两个分别存储了对应不同处理器BIOS程序的FLASH存储器,以及基板管理控制器。该基板管理控制器用于在所述单板待机状态,分别获取系统配置信息及所述处理器的型号,并且在所述系统配置信息中的处理器型号与所述处理器的型号不同时,根据所述处理器的型号更新所述系统配置信息中与所述处理器相关的参数,并更改FLASH存储器片选配置,使所述处理器与存储有该处理器BIOS程序的FLASH存储器相连。
[0043] 在实际应用中,上述基板管理控制器、FLASH存储器和处理器可以有多种不同的连接方式,从而使基板管理控制器可以通过不同的方式实现对FLASH存储器片选的控制,对此在下面举例详细说明。
[0044] 在下面的实施例中,以单板上设置两个FLASH存储器为例进行说明,但本发明实施例实现不同处理器兼容的装置中单板上存储对应不同处理器BIOS程序的FLASH存储器不限于此,根据需要,还可以有两个以上。
[0045] 如图3所示,是本发明实现不同处理器兼容的装置第一实施例的结构示意图。
[0046] 在该实施例中,所述装置包括:设置在同一单板上的处理器300,FLASH存储器301、302,基板管理控制器303。其中,处理器300通过不同管脚分别与各FLASH存储器相连;基板管理控制器303通过系统管理总线与处理器300相连。
[0047] 上述基板管理控制器303在所述单板待机状态,分别获取系统配置信息及处理器300的型号,并且在所述系统配置信息中的处理器型号与处理器300的型号不同时,根据处理器300的型号更新所述系统配置信息中与处理器300相关的参数,并更改FLASH存储器片选配置,使处理器300与存储有该处理器BIOS程序的FLASH存储器相连。
[0048] 在该实施例中,基板管理控制器303可以直接与处理器300的跳线管脚(strap pin)相连,通过改变处理器300的跳线配置更改FLASH存储器片选配置,使处理器300与存储有该处理器BIOS程序的FLASH存储器相连,比如,FLASH存储器301。
[0049] 如图4所示,是本发明实现不同处理器兼容的装置第二实施例的结构示意图。
[0050] 在该实施例中,所述装置包括:设置在同一单板上的处理器400,FLASH存储器401、402,基板管理控制器403,可编程逻辑器件404。其中,处理器400通过不同管脚分别与各FLASH存储器相连;可编程逻辑器件404分别与基板管理控制器403和处理器400相连。
[0051] 上述基板管理控制器403在所述单板待机状态,分别获取系统配置信息及处理器400的型号,并且在所述系统配置信息中的处理器型号与处理器400的型号不同时,根据处理器400的型号更新所述系统配置信息中与处理器400相关的参数,并更改FLASH存储器片选配置,使处理器400与存储有该处理器BIOS程序的FLASH存储器相连。
[0052] 在该实施例中,基板管理控制器403可以通过读写可编程逻辑器件404的寄存器更改FLASH存储器片选配置,使处理器400与存储有该处理器BIOS程序的FLASH存储器相连,比如,FLASH存储器401。
[0053] 如图5所示,是本发明实现不同处理器兼容的装置第三实施例的结构示意图。
[0054] 在该实施例中,所述装置包括:设置在同一单板上的处理器500,FLASH存储器501、502,基板管理控制器503,FLASH选择器504。其中,处理器500通过不同管脚分别与各FLASH存储器相连;FLASH选择器504分别与基板管理控制器503、处理器500和各FLASH存储器相连。
[0055] 上述基板管理控制器503在所述单板待机状态,分别获取系统配置信息及处理器500的型号,并且在所述系统配置信息中的处理器型号与处理器500的型号不同时,根据处理器500的型号更新所述系统配置信息中与处理器500相关的参数,并更改FLASH存储器片选配置,使处理器500与存储有该处理器BIOS程序的FLASH存储器相连。
[0056] 在该实施例中,基板管理控制器503通过控制FLASH选择器504更改FLASH存储器片选配置,使处理器500与存储有该处理器BIOS程序的FLASH存储器相连,比如,FLASH存储器501。
[0057] 上述FLASH选择器具体可以通过一些可编程逻辑器件(比如CPLD、FPGA)来实现。
[0058] 如图6所示,是本发明实现不同处理器兼容的装置第四实施例的结构示意图。
[0059] 在该实施例中,所述装置包括:设置在同一单板上的处理器600,FLASH存储器601、602,基板管理控制器603,FLASH选择器604,可编程逻辑器件605。其中,可编程逻辑器件605与基板管理控制器603相连,FLASH选择器604分别与可编程逻辑器件605、处理器600和各FLASH存储器相连
[0060] 上述基板管理控制器603在所述单板待机状态,分别获取系统配置信息及处理器600的型号,并且在所述系统配置信息中的处理器型号与处理器600的型号不同时,根据处理器600的型号更新所述系统配置信息中与处理器600相关的参数,并更改FLASH存储器片选配置,使处理器600与存储有该处理器BIOS程序的FLASH存储器相连。
[0061] 在该实施例中,基板管理控制器603通过读写可编程逻辑器件605的寄存器控制FLASH选择器604;FLASH选择器604根据基板管理控制器603的控制更改FLASH存储器片选配置,使处理器600与存储有该处理器BIOS程序的FLASH存储器相连,比如,FLASH存储器601。
[0062] 相对于图3和图4所示实施例,图5和图6所示实施例中,基板管理控制器进行FLASCH片选是发生在处理器上电之前完成的操作,因此,对于处理器来说,不会感知到该操作,也就是说,对于处理器来说,FLASCH的选择是透明的。而且,利用图5和图6所示实施例的装置,可以不受CPU管脚的限制,可以方便地扩展到对更多个FLASH存储器进行选择,扩展性、灵活性更强。
[0063] 需要说明的是,上述各实施例中的基板管理控制器,还可进一步用于在更改FLASH存储器片选配置后,为所述单板上电,以及在所述系统配置信息中的处理器型号与所述处理器的型号相同时,为所述单板上电。
[0064] 当然,本发明实施例实现不同处理器兼容的装置,并不仅局限于上述实施例中的结构,在实际应用中,还可以有其他结构变形,对此本发明实施例不做限定。
[0065] 可见,利用本发明实施例实现不同处理器兼容的装置,无论用户使用何种型号的处理器,只要在单板上设置了存储有该处理器BIOS程序的FLASH存储器,都可以自动保证单板上处理器的正常启动,从而实现多种不同处理器管脚到管脚的兼容,方便了用户的操作及使用。
[0066] 需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0067] 以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。