專利名稱:實現(xiàn)不同處理器兼容的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機技術(shù)領(lǐng)域,具體涉及一種實現(xiàn)不同處理器兼容的方法及裝置。
背景技術(shù):
在目前的市場上,存在不同品牌的處理器,在硬件方面,如果不同的處理器實現(xiàn)了管腳到管腳(Pin to Pin)兼容,可以方便地做到單板復(fù)用,也就是說在一個單板上,只需要更換CPU,就可以實現(xiàn)性能的升級。但由于不同處理器之間內(nèi)存控制、QPI(Quick Path Interconnect,快速通道互聯(lián))實現(xiàn)、CPU構(gòu)架等方面的不同,導(dǎo)致BIOS (Basic Input/ output System,基本輸入輸出系統(tǒng))要想從代碼層面來實現(xiàn)不同處理之間的兼容,并非易事。為此,在現(xiàn)有技術(shù)中,通常采用以下兩種方法實現(xiàn)不同處理器之間的兼容1. BIOS程序被保存在單板的FLASH設(shè)備上,在單板上電過程中,CPU會默認(rèn)將 FLASH存儲器中的代碼映射到內(nèi)存空間,然后從某一地址啟動BIOS程序。BIOS在啟動過程中,會根據(jù)CPU不同型號及構(gòu)架,進行不同的分支處理。也就是說,在一套代碼中,在BIOS 內(nèi)部根據(jù)不同的CPU進行不同的處理。這種方式不僅代碼量大,而且代碼內(nèi)部處理邏輯復(fù)雜,維護及擴展困難。2.根據(jù)不同CPU,向單板的FLASH存儲器中燒寫不同的BIOS程序,來實現(xiàn)不同CPU 的兼容。這種方式首先用戶需要知道如何燒寫B(tài)IOS,其次用戶還要知道哪個CPU使用哪個版本的BIOS,而且一旦燒寫出錯,還會導(dǎo)致整個單板無法正常啟動??梢娺@兩種方法實現(xiàn)不同處理器之間兼容方法的實現(xiàn)較為復(fù)雜,且操作繁瑣。
發(fā)明內(nèi)容
本發(fā)明實施例針對上述現(xiàn)有技術(shù)存在的問題,提供一種實現(xiàn)不同處理器兼容的方法及裝置,簡單、方便地實現(xiàn)單一硬件平臺支持多種不同的處理器。為了解決以上技術(shù)問題,本發(fā)明實施例采用如下技術(shù)方案一種實現(xiàn)不同處理器兼容的方法,包括在單板待機狀態(tài),分別獲取系統(tǒng)配置信息及所述單板上的處理器的型號,所述單板上設(shè)置有至少兩個分別存儲了對應(yīng)不同處理器BIOS程序的FLASH存儲器;如果所述系統(tǒng)配置信息中的處理器型號與所述處理器的型號不同,則根據(jù)所述處理器的型號更新所述系統(tǒng)配置信息中與所述處理器相關(guān)的參數(shù),并更改FLASH存儲器片選配置,使所述處理器與存儲有該處理器BIOS程序的FLASH存儲器相連。一種實現(xiàn)不同處理器兼容的裝置,包括設(shè)置在一個單板上的處理器,至少兩個分別存儲了對應(yīng)不同處理器BIOS程序的FLASH存儲器,以及基板管理控制器;所述基板控制器,用于在所述單板待機狀態(tài),分別獲取系統(tǒng)配置信息及所述處理器的型號,并且在所述系統(tǒng)配置信息中的處理器型號與所述處理器的型號不同時,根據(jù)所述處理器的型號更新所述系統(tǒng)配置信息中與所述處理器相關(guān)的參數(shù),并更改FLASH存儲器片選配置,使所述處理器與存儲有該處理器BIOS程序的FLASH存儲器相連。本發(fā)明實施例提供的實現(xiàn)不同處理器兼容的方法及裝置,在單板上設(shè)置至少兩個分別存儲了對應(yīng)不同處理器BIOS程序的FLASH存儲器,在單板待機狀態(tài),獲取系統(tǒng)配置信息及所述單板上的處理器的型號,從而可以根據(jù)處理器的型號,自動控制FLASH存儲器的片選,在所述系統(tǒng)配置信息中的處理器型號與所述處理器的型號不同時,根據(jù)所述處理器的型號更新所述系統(tǒng)配置信息中與所述處理器相關(guān)的參數(shù),并更改FLASH存儲器片選配置,使所述處理器與存儲有該處理器BIOS程序的FLASH存儲器相連。不僅簡化了 BIOS程序設(shè)計,而且無需用戶手工燒錄BIOS程序,即可使單一硬件平臺支持多種不同的處理器, 便于BIOS程序的更新及維護,方便用戶使用。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明實現(xiàn)不同處理器兼容的方法實施例的流程圖;圖2是應(yīng)用本發(fā)明實施例實現(xiàn)不同處理器兼容的方法單板上電過程的流程圖;圖3是本發(fā)明實現(xiàn)不同處理器兼容的裝置第一實施例的結(jié)構(gòu)示意圖;圖4是本發(fā)明實現(xiàn)不同處理器兼容的裝置第二實施例的結(jié)構(gòu)示意圖;圖5是本發(fā)明實現(xiàn)不同處理器兼容的裝置第三實施例的結(jié)構(gòu)示意圖;圖6是本發(fā)明實現(xiàn)不同處理器兼容的裝置第四實施例的結(jié)構(gòu)示意圖。
具體實施例方式為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實施例的方案,下面結(jié)合附圖和實施方式對本發(fā)明實施例作進一步的詳細(xì)說明。本發(fā)明實施例提供的實現(xiàn)不同處理器兼容的方法及裝置,在單板上設(shè)置至少兩個分別存儲了對應(yīng)不同處理器BIOS程序的FLASH存儲器,在單板待機狀態(tài),獲取系統(tǒng)配置信息及所述單板上的處理器的型號,從而可以根據(jù)處理器的型號,自動控制FLASH存儲器的片選,在所述系統(tǒng)配置信息中的處理器型號與所述處理器的型號不同時,根據(jù)所述處理器的型號更新所述系統(tǒng)配置信息中與所述處理器相關(guān)的參數(shù),并更改FLASH存儲器片選配置,使所述處理器與存儲有該處理器BIOS程序的FLASH存儲器相連。如圖1所示,是本發(fā)明實現(xiàn)不同處理器兼容的方法實施例的流程圖,包括以下步驟步驟101,在單板待機狀態(tài),獲取系統(tǒng)配置信息及所述單板上的處理器的型號,所述單板上設(shè)置有至少兩個分別存儲了對應(yīng)不同處理器BIOS (Basic Input/Output System, 基本輸入輸出系統(tǒng))程序的FLASH存儲器。具體地,可以由BMC(Baseboard Management Controller,基板管理控制器)讀取配置文件,獲取系統(tǒng)配置信息,在該系統(tǒng)配置信息中包含了處理器的型號信息。另外,基板管理控制器還可以通過SMBus (System Management Bus,系統(tǒng)管理總線)讀取單板上的處理器的PIROM (Processor Information Read-Only Memory,處理器信息只讀存儲器),獲取該處理器的型號。步驟102,如果上述系統(tǒng)配置信息中的處理器型號與所述處理器的型號不同,則根據(jù)所述處理器的型號更新所述系統(tǒng)配置信息中與所述處理器相關(guān)的參數(shù),并更改FLASH存儲器片選配置,使所述處理器與存儲有該處理器BIOS程序的FLASH存儲器相連。由于本發(fā)明實施例的單板上設(shè)置了多個與不同處理器對應(yīng)的FLASH存儲器,以存儲相應(yīng)處理器的BIOS程序。因此,需要系統(tǒng)配置信息中的處理器型號及啟動的BIOS程序與所述單板上實際安裝的處理器的型號相對應(yīng),否則該處理器將無法正常運行。因此,可以由基板管理控制器通過比較系統(tǒng)配置信息中的處理器型號與獲取的單板上實際安裝的處理器的型號,在兩者不同時,不僅要更改系統(tǒng)配置信息中與該處理器相關(guān)的參數(shù),比如,處理器型號信息,以保證系統(tǒng)配置信息的準(zhǔn)確性,而且,還要更改FLASH存儲器片選配置,使所述處理器與存儲有該處理器BIOS程序的FLASH存儲器相連,保證在單板上電后,啟動正確的BIOS程序,使處理器的正常運行。在具體應(yīng)用時,可以通過直接改變所述處理器的跳線配置更改FLASH存儲器片選配置;或者通過讀寫可編程邏輯器件的寄存器更改FLASH存儲器片選配置,當(dāng)然,還可以采用其它方式更改FLASH存儲器片選配置,對此本發(fā)明實施例不做限定。利用本發(fā)明實施例實現(xiàn)不同處理器兼容的方法,可以實現(xiàn)多種不同處理器管腳到管腳的兼容,不僅簡化了 BIOS程序設(shè)計,而且無需用戶手工燒錄BIOS程序,即可使單一硬件平臺支持多種不同的處理器,便于BIOS程序的更新及維護,方便用戶使用。本發(fā)明實施例實現(xiàn)不同處理器兼容的方法可以適用于各種不同的單板及處理器, 而且該實施例方法中的全部或部分步驟可借助軟件加必要的通用硬件平臺的方式來實現(xiàn), 比如,由基板管理控制器實現(xiàn)上述流程。如圖2所示,是應(yīng)用本發(fā)明實施例實現(xiàn)不同處理器兼容的方法單板上電過程的流程圖。步驟201,在單板待機狀態(tài),基板管理控制器分別獲取系統(tǒng)配置信息及所述單板上的處理器的型號。步驟202,判斷上述系統(tǒng)配置信息中的處理器型號與上述單板上的處理器的型號是否相同;如果是,則執(zhí)行步驟203 ;否則,執(zhí)行步驟205。步驟203,根據(jù)上述處理器的型號更新所述系統(tǒng)配置信息中與所述處理器相關(guān)的參數(shù)。步驟204,更改FLASH存儲器片選配置,使上述處理器與存儲有該處理器BIOS程序的FLASH存儲器相連。步驟205,為上述單板上電??梢姡帽景l(fā)明實施例實現(xiàn)不同處理器兼容的方法,無論用戶使用何種型號的處理器,只要在單板上設(shè)置了存儲有該處理器BIOS程序的FLASH存儲器,都可以自動保證單板上處理器的正常啟動,從而實現(xiàn)多種不同處理器管腳到管腳的兼容,方便了用戶的操作及使用。相應(yīng)地,本發(fā)明實施例還提供一種實現(xiàn)不同處理器兼容的裝置,該裝置包括包括設(shè)置在一個單板上的處理器,至少兩個分別存儲了對應(yīng)不同處理器BIOS程序的FLASH 存儲器,以及基板管理控制器。該基板控制器用于在所述單板待機狀態(tài),分別獲取系統(tǒng)配置信息及所述處理器的型號,并且在所述系統(tǒng)配置信息中的處理器型號與所述處理器的型號不同時,根據(jù)所述處理器的型號更新所述系統(tǒng)配置信息中與所述處理器相關(guān)的參數(shù),并更改FLASH存儲器片選配置,使所述處理器與存儲有該處理器BIOS程序的FLASH存儲器相連。在實際應(yīng)用中,上述基板管理控制器、FLASH存儲器和處理器可以有多種不同的連接方式,從而使基板管理控制器可以通過不同的方式實現(xiàn)對FLASH存儲器片選的控制,對此在下面舉例詳細(xì)說明。在下面的實施例中,以單板上設(shè)置兩個FLASH存儲器為例進行說明,但本發(fā)明實施例實現(xiàn)不同處理器兼容的裝置中單板上存儲對應(yīng)不同處理器BIOS程序的FLASH存儲器不限于此,根據(jù)需要,還可以有兩個以上。如圖3所示,是本發(fā)明實現(xiàn)不同處理器兼容的裝置第一實施例的結(jié)構(gòu)示意圖。在該實施例中,所述裝置包括設(shè)置在同一單板上的處理器300,F(xiàn)LASH存儲器 301、302,基板管理控制器303。其中,處理器300通過不同管腳分別與各FLASH存儲器相連;基板控制器303通過系統(tǒng)管理總線與處理器300相連。上述基板控制器303在所述單板待機狀態(tài),分別獲取系統(tǒng)配置信息及處理器300 的型號,并且在所述系統(tǒng)配置信息中的處理器型號與處理器300的型號不同時,根據(jù)處理器300的型號更新所述系統(tǒng)配置信息中與處理器300相關(guān)的參數(shù),并更改FLASH存儲器片選配置,使處理器300與存儲有該處理器BIOS程序的FLASH存儲器相連。在該實施例中,基板控制器303可以直接與處理器300的跳線管腳(strap pin) 相連,通過改變處理器300的跳線配置更改FLASH存儲器片選配置,使處理器300與存儲有該處理器BIOS程序的FLASH存儲器相連,比如,F(xiàn)LASH存儲器301。如圖4所示,是本發(fā)明實現(xiàn)不同處理器兼容的裝置第二實施例的結(jié)構(gòu)示意圖。在該實施例中,所述裝置包括設(shè)置在同一單板上的處理器400,F(xiàn)LASH存儲器 401、402,基板管理控制器403,可編程邏輯器件404。其中,處理器400通過不同管腳分別與各FLASH存儲器相連;可編程邏輯器件404分別與基板控制器403和處理器400相連。上述基板控制器403在所述單板待機狀態(tài),分別獲取系統(tǒng)配置信息及處理器400 的型號,并且在所述系統(tǒng)配置信息中的處理器型號與處理器400的型號不同時,根據(jù)處理器400的型號更新所述系統(tǒng)配置信息中與處理器400相關(guān)的參數(shù),并更改FLASH存儲器片選配置,使處理器400與存儲有該處理器BIOS程序的FLASH存儲器相連。在該實施例中,基板控制器403可以通過讀寫可編程邏輯器件404的寄存器更改 FLASH存儲器片選配置,使處理器400與存儲有該處理器BIOS程序的FLASH存儲器相連,比如,F(xiàn)LASH存儲器401。如圖5所示,是本發(fā)明實現(xiàn)不同處理器兼容的裝置第三實施例的結(jié)構(gòu)示意圖。在該實施例中,所述裝置包括設(shè)置在同一單板上的處理器500,F(xiàn)LASH存儲器 501、502,基板管理控制器503,F(xiàn)LASH選擇器504。其中,處理器500通過不同管腳分別與各FLASH存儲器相連;FLASH選擇器504分別與基板控制器503、處理器500和各FLASH存儲器相連。
上述基板控制器503在所述單板待機狀態(tài),分別獲取系統(tǒng)配置信息及處理器500 的型號,并且在所述系統(tǒng)配置信息中的處理器型號與處理器500的型號不同時,根據(jù)處理器500的型號更新所述系統(tǒng)配置信息中與處理器500相關(guān)的參數(shù),并更改FLASH存儲器片選配置,使處理器500與存儲有該處理器BIOS程序的FLASH存儲器相連。在該實施例中,基板控制器503通過控制FLASH選擇器504更改FLASH存儲器片選配置,使處理器500與存儲有該處理器BIOS程序的FLASH存儲器相連,比如,F(xiàn)LASH存儲器 501。上述FLASH選擇器具體可以通過一些可編程邏輯器件(比如CPLD、FPGA)來實現(xiàn)。如圖6所示,是本發(fā)明實現(xiàn)不同處理器兼容的裝置第四實施例的結(jié)構(gòu)示意圖。在該實施例中,所述裝置包括設(shè)置在同一單板上的處理器600,F(xiàn)LASH存儲器 601、602,基板管理控制器603,F(xiàn)LASH選擇器604,可編程邏輯器件605。其中,可編程邏輯器件605與基板管理控制器603相連,F(xiàn)LASH選擇器604分別與可編程邏輯器件605、處理器600和各FLASH存儲器相連上述基板控制器603在所述單板待機狀態(tài),分別獲取系統(tǒng)配置信息及處理器600 的型號,并且在所述系統(tǒng)配置信息中的處理器型號與處理器600的型號不同時,根據(jù)處理器600的型號更新所述系統(tǒng)配置信息中與處理器600相關(guān)的參數(shù),并更改FLASH存儲器片選配置,使處理器600與存儲有該處理器BIOS程序的FLASH存儲器相連。 在該實施例中,基板控制器603通過讀寫可編程邏輯器件605的寄存器控制FLASH 選擇器604 ;FLASH選擇器604根據(jù)基板控制器603的控制更改FLASH存儲器片選配置,使處理器600與存儲有該處理器BIOS程序的FLASH存儲器相連,比如,F(xiàn)LASH存儲器601。相對于圖3和圖4所示實施例,圖5和圖6所示實施例中,基板控制器進行FLASCH 片選是發(fā)生在處理器上電之前完成的操作,因此,對于處理器來說,不會感知到該操作,也就是說,對于處理器來說,F(xiàn)LASCH的選擇是透明的。而且,利用圖5和圖6所示實施例的裝置,可以不受CPU管腳的限制,可以方便地擴展到對更多個FLASH存儲器進行選擇,擴展性、 靈活性更強。需要說明的是,上述各實施例中的基板控制器,還可進一步用于在更改FLASH存儲器片選配置后,為所述單板上電,以及在所述系統(tǒng)配置信息中的處理器型號與所述處理器的型號相同時,為所述單板上電。當(dāng)然,本發(fā)明實施例實現(xiàn)不同處理器兼容的裝置,并不僅局限于上述實施例中的結(jié)構(gòu),在實際應(yīng)用中,還可以有其他結(jié)構(gòu)變形,對此本發(fā)明實施例不做限定??梢姡帽景l(fā)明實施例實現(xiàn)不同處理器兼容的裝置,無論用戶使用何種型號的處理器,只要在單板上設(shè)置了存儲有該處理器BIOS程序的FLASH存儲器,都可以自動保證單板上處理器的正常啟動,從而實現(xiàn)多種不同處理器管腳到管腳的兼容,方便了用戶的操作及使用。需要說明的是,本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。 尤其,對于裝置實施例而言,由于其基本相似于方法實施例,所以描述得比較簡單,相關(guān)之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。
以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內(nèi)。
權(quán)利要求
1.一種實現(xiàn)不同處理器兼容的方法,其特征在于,包括在單板待機狀態(tài),分別獲取系統(tǒng)配置信息及所述單板上的處理器的型號,所述單板上設(shè)置有至少兩個分別存儲了對應(yīng)不同處理器BIOS程序的FLASH存儲器;如果所述系統(tǒng)配置信息中的處理器型號與所述處理器的型號不同,則根據(jù)所述處理器的型號更新所述系統(tǒng)配置信息中與所述處理器相關(guān)的參數(shù),并更改FLASH存儲器片選配置,使所述處理器與存儲有該處理器BIOS程序的FLASH存儲器相連。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取系統(tǒng)配置信息包括通過系統(tǒng)配置文件獲取所述系統(tǒng)配置信息。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取所述單板上的處理器的型號包括通過系統(tǒng)管理總線讀取所述單板上的處理器的PIR0M,獲取所述處理器的型號。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述更改FLASH存儲器片選配置包括 通過直接改變所述處理器的跳線配置更改FLASH存儲器片選配置;或者通過讀寫可編程邏輯器件的寄存器更改FLASH存儲器片選配置。
5.根據(jù)權(quán)利要求1至4任一項所述的方法,其特征在于,所述方法還包括 更改FLASH存儲器片選配置后,為所述單板上電;如果所述系統(tǒng)配置信息中的處理器型號與所述處理器的型號相同,則為所述單板上H1^ ο
6.一種實現(xiàn)不同處理器兼容的裝置,其特征在于,包括設(shè)置在一個單板上的處理器, 至少兩個分別存儲了對應(yīng)不同處理器BIOS程序的FLASH存儲器,以及基板管理控制器;所述基板控制器,用于在所述單板待機狀態(tài),分別獲取系統(tǒng)配置信息及所述處理器的型號,并且在所述系統(tǒng)配置信息中的處理器型號與所述處理器的型號不同時,根據(jù)所述處理器的型號更新所述系統(tǒng)配置信息中與所述處理器相關(guān)的參數(shù),并更改FLASH存儲器片選配置,使所述處理器與存儲有該處理器BIOS程序的FLASH存儲器相連。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于 所述處理器通過不同管腳分別與各FLASH存儲器相連;所述基板控制器通過系統(tǒng)管理總線與所述處理器相連,并通過改變所述處理器的跳線配置更改FLASH存儲器片選配置,使所述處理器與存儲有該處理器BIOS程序的FLASH存儲器相連。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括分別與所述基板控制器和所述處理器相連的可編程邏輯器件;所述處理器通過不同管腳分別與各FLASH存儲器相連;所述基板控制器通過讀寫所述可編程邏輯器件的寄存器更改FLASH存儲器片選配置, 使所述處理器與存儲有該處理器BIOS程序的FLASH存儲器相連。
9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括分別與所述基板控制器、處理器和各FLASH存儲器相連的FLASH選擇器;所述基板控制器通過控制所述FLASH選擇器更改FLASH存儲器片選配置,使所述處理器與存儲有該處理器BIOS程序的FLASH存儲器相連。
10.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括與所述基板控制器相連的可編程邏輯器件、以及分別與所述可編程邏輯器件、處理器和各FLASH存儲器相連的 FLASH選擇器;所述基板控制器通過讀寫所述可編程邏輯器件的寄存器控制所述FLASH選擇器;所述 FLASH選擇器根據(jù)所述基板控制器的控制更改FLASH存儲器片選配置,使所述處理器與存儲有該處理器BIOS程序的FLASH存儲器相連。
11.根據(jù)權(quán)利要求6至10任一項所述的裝置,其特征在于,所述基板控制器,還用于在更改FLASH存儲器片選配置后,為所述單板上電,以及在所述配置信息中的處理器型號與所述處理器的型號相同時,為所述單板上電。
全文摘要
一種實現(xiàn)不同處理器兼容的方法及裝置,該方法包括在單板待機狀態(tài),獲取配置信息及所述單板上的處理器的型號;如果所述配置信息中的處理器型號與所述處理器的型號不同,則根據(jù)所述處理器更新所述配置信息中與所述處理器相關(guān)的參數(shù),并更改FLASH存儲器片選配置,以使所述處理器與存儲有該處理器BIOS程序的FLASH存儲器相連。
文檔編號G06F9/48GK102388366SQ201180001895
公開日2012年3月21日 申請日期2011年9月22日 優(yōu)先權(quán)日2011年9月22日
發(fā)明者吳登奔, 廖義祥, 張羽 申請人:華為技術(shù)有限公司