一種基于bois總線識別bios狀態(tài)的方法及計算機系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計算機系統(tǒng)技術(shù)領(lǐng)域,尤其涉及一種基于BOIS總線識別B1S狀態(tài)的方法及計算機系統(tǒng)。
【背景技術(shù)】
[0002]B1S (Basic Input/Ouput System)是計算機系統(tǒng)啟動時首個加載的軟件,當(dāng)B1S發(fā)生故障時,計算機系統(tǒng)將無法正常啟動。為保證B1S的可靠性一般采用主備切換的方法,而實現(xiàn)B1S主備切換的前提是能夠正確、準(zhǔn)確地判斷B1S工作狀態(tài)是否正常。
[0003]如圖1所示,現(xiàn)有技術(shù)公開的方法包括整套硬件和計算機本體,其中,整套硬件包括切換B1S的切換硬件與判斷B1S運行的判斷硬件,計算機本體為啟動計算機所需要的最小的系統(tǒng)。為了準(zhǔn)確判斷B1S的工作狀態(tài),在B1S軟件中寫入專用代碼,當(dāng)B1S啟動時,通過B1S軟件控制計算機本體的GP1引腳,以及設(shè)置在GP1引腳和切換B1S的切換硬件之間的判斷硬件(判斷B1S運行的硬件電路),判斷硬件檢測該GP1引腳,如在限定的時間內(nèi)B1S軟件沒有從該GP1引腳送出預(yù)定的信號,則硬件判定主B1S功能異常,觸發(fā)B1S的切換。但是這種方式,存在以下缺陷:
[0004]1、需要B1S軟件操作計算機本體的GP1引腳,故B1S需要配合主備切換功能定制,在設(shè)備開發(fā)時需要對B1S進行定制,增加單板設(shè)計的復(fù)雜度。
[0005]2、判斷硬件需要B1S軟件配合才能完成對B1S狀態(tài)的判斷,對B1S軟件有依賴性,如B1S掛死在設(shè)置GP1之后的程序,會使判斷硬件對B1S的狀態(tài)判斷出錯。
[0006]3、這種判斷方法如用在BI OS切換上,整套硬件除了引出切換必需的BI OS總線外,還需要多一個GP1硬件信號。
[0007]現(xiàn)有技術(shù)還公開了一種基于BOIS總線識別B1S狀態(tài)的方法,將判斷硬件連接在80偵錯口所在總線,如LPC等,并監(jiān)測80 口輸出的偵錯狀態(tài)碼(POST Code)。在B1S軟件運行時,每進行一個操作就會在80 口輸出一個偵錯碼,通過判斷硬件監(jiān)測該偵錯碼,如在限定的時間內(nèi)計算機本體沒有拋出預(yù)期的POST Code,則判定主B1S故障,觸發(fā)B1S的切換。但是這種方法,存在以下缺陷:
[0008]UB1S總線與偵錯碼所在總線不在同一條總線上,判斷硬件必須要連接輸出偵錯碼的總線,如LPC總線但這些總線信號往往會比較多,如LPC有5個必要信號,判斷硬件必需連接這5個信號,連接結(jié)構(gòu)復(fù)雜,增加了單板設(shè)計的復(fù)雜度。
[0009]2、這種技術(shù)使用在B1S切換上,整套硬件除需要B1S芯片必需的總線外,還需要額外的一條總線以接收偵錯碼。
【發(fā)明內(nèi)容】
[0010]本發(fā)明的目的就是提供一種基于BOIS總線識別B1S狀態(tài)的方法及計算機系統(tǒng),以解決上述現(xiàn)有技術(shù)中存在的技術(shù)問題,可在無需修改B1S軟件的前提下實現(xiàn)系統(tǒng)B1S的主備切換,大大減少B1S主備切換硬件的設(shè)置復(fù)雜度。
[0011]為了實現(xiàn)上述目的,本發(fā)明技術(shù)方案如下:
[0012]—種基于BOIS總線識別B1S狀態(tài)的方法,應(yīng)用于包括計算機本體和B1S載體的計算機系統(tǒng),所述方法包括:
[0013]監(jiān)聽所述計算機本體與B1S載體之間通信的B1S總線,獲取B1S總線上的數(shù)據(jù);
[0014]根據(jù)所監(jiān)聽到的數(shù)據(jù)判斷B1S的工作狀態(tài),并輸出狀態(tài)識別信號。
[0015]進一步地,所述計算機系統(tǒng)預(yù)設(shè)有根據(jù)計算機本體運行B1S程序過程中讀取B1S載體的行為設(shè)置的監(jiān)測點,所有監(jiān)測點按照行為的先后次序排序,所述根據(jù)所監(jiān)聽到的數(shù)據(jù)判斷B1S的工作狀態(tài),并輸出狀態(tài)識別信號,包括:
[0016]分析識別監(jiān)聽得到的數(shù)據(jù),判斷所有監(jiān)測點對應(yīng)的行為是否按照排定的順序被執(zhí)行,如果所有監(jiān)測點對應(yīng)的行為是按照排定的順序被執(zhí)行,則輸出的狀態(tài)識別信號為B1S正常,否則不輸出狀態(tài)識別信號。
[0017]進一步地,所述預(yù)設(shè)有根據(jù)計算機本體運行B1S程序過程中讀取B1S載體的行為設(shè)置的監(jiān)測點,包括:
[0018]按時間先后記錄所有行為,并將這些行為按時間劃分成行為組;
[0019]在每個行為組中,分別選取一個行為對應(yīng)的B1S載體地址、或B1S載體對應(yīng)的數(shù)據(jù)、或B1S載體地址和B1S載體對應(yīng)的數(shù)據(jù)為監(jiān)測點。
[0020]進一步地,所述監(jiān)測點包括計算機本體正在啟動開始時訪問的B1S載體地址、或B1S載體對應(yīng)的數(shù)據(jù)、或B1S載體地址和B1S載體對應(yīng)的數(shù)據(jù),和啟動完成時訪問的B1S載體地址、或B1S載體對應(yīng)的數(shù)據(jù)、或B1S載體地址和B1S載體對應(yīng)的數(shù)據(jù)。
[0021]進一步地,所述分析識別監(jiān)聽得到的數(shù)據(jù),判斷所有監(jiān)測點對應(yīng)的行為是否按照排定的順序被執(zhí)行,包括:
[0022]分析識別監(jiān)聽得到的數(shù)據(jù),判斷所有監(jiān)測點B1S載體地址是否按照排定的順序被訪問;
[0023]或分析識別監(jiān)聽得到的數(shù)據(jù),判斷所有監(jiān)測點B1S載體對應(yīng)的數(shù)據(jù)是否按照排定的順序被監(jiān)聽到;
[0024]或分析識別監(jiān)聽得到的數(shù)據(jù),判斷所有監(jiān)測點B1S載體地址和B1S載體對應(yīng)的數(shù)據(jù)是否按照排定的順序被訪問和監(jiān)聽到。
[0025]本發(fā)明還提出了一種基于BOIS總線識別B1S狀態(tài)的計算機系統(tǒng),所述計算機系統(tǒng)包括計算機本體和B1S載體,所述計算機系統(tǒng)還包括判斷硬件,所述判斷硬件連接在所述計算機本體與B1S載體之間通信的B1S總線上,所述判斷硬件監(jiān)聽B1S總線上的數(shù)據(jù),判斷B1S的工作狀態(tài),并輸出狀態(tài)識別信號。
[0026]進一步地,所述判斷硬件包括解碼模塊和行為識別模塊,其中:
[0027]所述解碼模塊,用于監(jiān)聽計算機本體與B1S載體之間通信的B1S總線,獲取B1S總線上的數(shù)據(jù);
[0028]所述行為識別模塊,預(yù)配置有根據(jù)計算機本體運行B1S程序過程中讀取B1S載體的行為設(shè)置的監(jiān)測點,所述監(jiān)測點按照行為的先后次序排序,并接收來自解碼模塊的數(shù)據(jù)進行分析識別,判斷所有監(jiān)測點對應(yīng)的行為是否按照排定的順序被執(zhí)行,如果所有監(jiān)測點對應(yīng)的行為是按照排定的順序被執(zhí)行,則輸出的狀態(tài)識別信號為B1S正常,否則不輸出狀態(tài)識別信號。
[0029]進一步地,所述行為識別模塊預(yù)配置有根據(jù)計算機本體運行B1S程序過程中讀取B1S載體的行為設(shè)置的監(jiān)測點,執(zhí)行如下操作:
[0030]按時間先后記錄所有行為,并將這些行為按時間劃分成行為組;
[0031]在每個行為組中,分別選取一個行為對應(yīng)的B1S載體地址、或B1S載體對應(yīng)的數(shù)據(jù)、或B1S載體地址和B1S載體對應(yīng)的數(shù)據(jù)為監(jiān)測點。
[0032]進一步地,所述監(jiān)測點包括計算機本體正在啟動開始時訪問的B1S載體地址、或B1S載體對應(yīng)的數(shù)據(jù)、或B1S載體地址和B1S載體對應(yīng)的數(shù)據(jù),和啟動完成時訪問的B1S載體地址、或B1S載體對應(yīng)的數(shù)據(jù)、或B1S載體地址和B1S載體對應(yīng)的數(shù)據(jù)。
[0033]進一步地,所述行為識別模塊分析識別監(jiān)聽得到的數(shù)據(jù),判斷所有監(jiān)測點對應(yīng)的行為是否按照排定的順序被執(zhí)行,包括:
[0034]分析識別監(jiān)聽得到的數(shù)據(jù),判斷所有監(jiān)測點B1S載體地址是否按照排定的順序被訪問;
[0035]或分析識別監(jiān)聽得到的數(shù)據(jù),判斷所有監(jiān)測點B1S載體對應(yīng)的數(shù)據(jù)是否按照排定的順序被監(jiān)聽到;
[0036]或分析識別監(jiān)聽得到的數(shù)據(jù),判斷所有監(jiān)測點B1S載體地址和B1S載體對應(yīng)的數(shù)據(jù)是否按照排定的順序被訪問和監(jiān)聽到。
[0037]本發(fā)明提出的一種基于BOIS總線識別B1S狀態(tài)的方法及計算機系統(tǒng),應(yīng)用于B1S主備切換,可以簡化電路設(shè)計,可在無需修改B1S軟件的前提下實現(xiàn)計算機系統(tǒng)B1S的主備切換,且B1S總線為切換電路所必需的信號,因此,切換電路不會增加單板的復(fù)雜度。通過對B1S總線進行監(jiān)聽、分析,確定計算機本體對B1S載體的訪問、操作行為,并判斷這些行為是否滿足預(yù)設(shè)的要求,實現(xiàn)B1S運行狀態(tài)的判斷。本發(fā)明基于B1S軟件對B1S載體的行為監(jiān)測,可幾乎適用于所有x86平臺的B1S軟件,無需B1S軟件作任何配合;且不會妨礙系統(tǒng)啟動或延長系統(tǒng)的啟動時間。本發(fā)明對B1S軟件無依賴,B1S軟件無需因B1S主備切換需求作任何修改,即可實現(xiàn)B1S的故障判斷。
【附圖說明】
[0038]圖1為現(xiàn)有技術(shù)B1S主備切換原理不意圖;
[0039]圖2為本發(fā)明實施例計算機系統(tǒng)結(jié)構(gòu)示意圖;
[0040]圖3為本發(fā)明判斷硬件結(jié)構(gòu)示意圖。
【具體實施方式】
[0041]下面結(jié)合附圖和實施例對本發(fā)明技術(shù)方案做進一步詳細(xì)說明,以下實施例不構(gòu)成對本發(fā)明的限定。
[0042]儲存有B1S程序的Flash芯片稱為B1S載體,在現(xiàn)在的技術(shù)上,B1S載體除了存儲B1S程序之外,還會用于保存B1S配置信息,充當(dāng)一部分過去CMOS的作用。在計算機啟動過程中,計算機本體會首先讀取B1S載體里的B1S程序,B1S程序會按需讀寫B(tài)1S載體,以保存、讀取所需的信息。本發(fā)明的總體思路是設(shè)置監(jiān)聽和分析B1S總線的判斷硬件,通過判斷硬件監(jiān)聽B1S總線上的數(shù)據(jù)流,確定計算機本體對B1S載體的訪問、操作行為,并判斷這些行為是否滿足預(yù)設(shè)的要求,然后將其判斷的結(jié)果發(fā)送至切換硬件,當(dāng)判斷的結(jié)果為B1S啟動異常時,通過切換硬件來執(zhí)行對主B1S和備B1S的切換。本實施例主備B1S的切換,是切換計算機本體讀取的B1S載體,讀取該載體中的B1S程序。
[0043]如圖2所示,本實施例一種基于BOIS總線識別B1S狀態(tài)的計算機系統(tǒng),包括計算機本體和B1S載體,以及連接在計算機本體與B1S載體之間通信的B1S總線上的判斷硬件,該判斷硬件監(jiān)聽B1S總線上的數(shù)據(jù),判斷B1S的工作狀態(tài),并輸出狀態(tài)識別信號。
[0044]本實施例以判斷硬件識別出B1S的工作狀態(tài)后進行主備B1S切換為例來進行說明,計算機本體通過B1S總線與切換硬件連接,切換硬件與主備B1S載體連接,在計算機本體和B1S載體之間通信的過程中,通過判斷硬件對B1S總線的監(jiān)聽和分析,并根據(jù)監(jiān)聽和分析的結(jié)果,判斷出B1S的工作狀態(tài)是否正常,并將結(jié)果輸送至切換硬件中,若結(jié)果正常,則不需要切換B10S,否則通過切換硬件進行B1S的主備切換,保證B1S的正常工作。判斷硬件與B1S總線和切換硬件連接,監(jiān)聽和分析B1S總線,輸出狀態(tài)識別信號控制切換硬件進行主備B1S的切換。