專利名稱:自動(dòng)切換基本輸入/輸出程序的系統(tǒng)及其方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種自動(dòng)切換基本輸入/輸出系統(tǒng)程序的系統(tǒng)及其方法,尤其 涉及一種通過(guò)硬件控制電路自動(dòng)切換基本輸入/輸出系統(tǒng)程序而完成系統(tǒng)啟始 的技術(shù)。
背景技術(shù):
在計(jì)算機(jī)系統(tǒng)中,基本輸入/輸出系統(tǒng)(Basic Input-Output System, BIOS) 是計(jì)算機(jī)基本操作中最基礎(chǔ)的軟件,主要是由低階的指令集所組成,而其內(nèi)主 要儲(chǔ)存與計(jì)算機(jī)相關(guān)且重要的基本輸入/輸出程序、系統(tǒng)信息設(shè)備、開(kāi)機(jī)自我 測(cè)試(Power-On Self Test, POST)和系統(tǒng)開(kāi)機(jī)程序等。當(dāng)計(jì)算機(jī)開(kāi)機(jī)時(shí),BIOS
即調(diào)用所存放的相關(guān)程序?qū)τ?jì)算機(jī)系統(tǒng)執(zhí)行開(kāi)機(jī)自我檢測(cè)。當(dāng)檢測(cè)全部完成 后,BIOS遂將系統(tǒng)控制權(quán)移交給系統(tǒng)的引導(dǎo)模塊,以由引導(dǎo)模塊完成操作系 統(tǒng)的加載程序。因此,計(jì)算機(jī)一開(kāi)機(jī)時(shí)初始的運(yùn)作,都是依照基本輸入/輸出 系統(tǒng)的內(nèi)容來(lái)執(zhí)行運(yùn)作,倘若基本輸入/輸出系統(tǒng)出現(xiàn)問(wèn)題,計(jì)算機(jī)一開(kāi)機(jī)便 無(wú)法執(zhí)行如內(nèi)存、硬盤、中央處理器等的測(cè)試,使計(jì)算機(jī)無(wú)法順利開(kāi)機(jī)。
在一般計(jì)算機(jī)系統(tǒng)中,均將BIOS的程序指令集燒錄在非揮發(fā)性內(nèi)存 (Non-Volatile Memory)中,如Flash R0M、 PR0M、 EPR0M、 EEPR0M等,并將 BIOS內(nèi)存內(nèi)建于計(jì)算機(jī)的主機(jī)板或放入計(jì)算機(jī)系統(tǒng)的芯片組中,使其不受電 源供應(yīng)影響,而可長(zhǎng)久保存其內(nèi)容。但BI0S內(nèi)存的內(nèi)容并非完全不會(huì)出現(xiàn)錯(cuò) 誤,當(dāng)BI0S內(nèi)存的電路結(jié)構(gòu)隨時(shí)間產(chǎn)生退化,或于BIOS更新時(shí)操作不當(dāng)而造 成數(shù)據(jù)損毀,或其它不可預(yù)期的操作使其內(nèi)容產(chǎn)生錯(cuò)誤或數(shù)據(jù)流失,將導(dǎo)致計(jì) 算機(jī)開(kāi)機(jī)執(zhí)行BIOS程序時(shí)產(chǎn)生錯(cuò)誤,而造成系統(tǒng)無(wú)法正常開(kāi)機(jī),所以BIOS 的救援變的非常重要?,F(xiàn)有技術(shù)中,于一個(gè)計(jì)算機(jī)系統(tǒng)中設(shè)置兩個(gè)BIOS記憶 裝置,亦或是一個(gè)BIOS內(nèi)存中有兩份BIOS程序,但因?yàn)槭峭ㄟ^(guò)軟件程序的方 式作BIOS切換,其前提必須是BIOS中啟動(dòng)區(qū)的數(shù)據(jù)完全正確,才可以完成 BIOS的切換以順利開(kāi)機(jī),否則若BIOS中啟動(dòng)區(qū)的數(shù)據(jù)也被破壞,那系統(tǒng)還是
會(huì)于開(kāi)機(jī)過(guò)程中^1機(jī)而無(wú)法順利啟動(dòng)。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題在于提出一種自動(dòng)切換基本輸入/輸出程序的 系統(tǒng)及其方法。
為實(shí)現(xiàn)上述目的,本發(fā)明所提供的一硬件控制電路,為一可程序化邏輯電 路,于該系統(tǒng)啟動(dòng)后一預(yù)定時(shí)間,檢測(cè)一基本輸入/輸出系統(tǒng)狀態(tài)信號(hào),若該 基本輸入/輸出系統(tǒng)狀態(tài)信號(hào)為一失能信號(hào)則發(fā)出一切換信號(hào),并且重新啟動(dòng) 該系統(tǒng),其中該基本輸入/輸出系統(tǒng)狀態(tài)信號(hào)在該系統(tǒng)于開(kāi)機(jī)時(shí)的初始值為該 失能信號(hào); 一第一基本輸入/輸出系統(tǒng)程序與一第二基本輸入/輸出系統(tǒng)程序, 分別儲(chǔ)存于兩個(gè)實(shí)體基本輸入/輸出系統(tǒng)內(nèi)存,或儲(chǔ)存于同一個(gè)實(shí)體基本輸入/ 輸出系統(tǒng)內(nèi)存中的兩個(gè)地址區(qū)段,均可啟始該系統(tǒng),并于完成開(kāi)機(jī)自我測(cè)試后, 變更該基本輸入/輸出系統(tǒng)狀態(tài)信號(hào)為一致能信號(hào),其中該系統(tǒng)先被該第一基 本輸入/輸出系統(tǒng)程序啟始;以及一切換電路,連接該硬件控制電路,當(dāng)接收 到該切換信號(hào),則利用該第二基本輸入/輸出系統(tǒng)程序啟始該系統(tǒng);其中,該 切換電路在由該硬件控制電路控制該系統(tǒng)重新啟動(dòng)的情況下,維持該系統(tǒng)先以 該第二基本輸入/輸出系統(tǒng)程序啟始。
而且,為實(shí)現(xiàn)上述目的,本發(fā)明提供一種自動(dòng)切換基本輸入/輸出程序的 方法,至少包含下列步驟通過(guò)一第一基本輸入/輸出系統(tǒng)程序啟始一系統(tǒng); 于該系統(tǒng)啟動(dòng)至一預(yù)定時(shí)間,通過(guò)一硬件控制電路檢測(cè)一基本輸入/輸出系統(tǒng) 狀態(tài)信號(hào)是否為一失能信號(hào);當(dāng)該基本輸入/輸出系統(tǒng)狀態(tài)信號(hào)為該失能信號(hào) 時(shí),通過(guò)該硬件控制電路傳送一切換信號(hào)至一切換電路以利用一第二基本輸入 /輸出系統(tǒng)程序啟始該系統(tǒng);以及重新啟動(dòng)該系統(tǒng);該第一基本輸入/輸出系統(tǒng) 程序與該第二基本輸入/輸出系統(tǒng)程序,分別儲(chǔ)存于兩個(gè)實(shí)體基本輸入/輸出系 統(tǒng)內(nèi)存或儲(chǔ)存于同一個(gè)實(shí)體基本輸入/輸出系統(tǒng)內(nèi)存中的兩個(gè)地址區(qū)段,其均 可啟始該系統(tǒng),并于完成開(kāi)機(jī)自我測(cè)試后,變更該基本輸入/輸出系統(tǒng)狀態(tài)信 號(hào)為一致能信號(hào)。
該系統(tǒng)至少包含由硬件控制電路、系統(tǒng)芯片組、系統(tǒng)電源單元、切換電路、 以及兩個(gè)可互相提供備援的BIOS程序或BIOS內(nèi)存所組成。利用其可自動(dòng)切換 并互相提供備援的BIOS程序或BIOS內(nèi)存,通過(guò)一個(gè)可程序化的硬件控制電路(Programmable Logic fC, PAL)檢測(cè)信號(hào),以切換供系統(tǒng)啟動(dòng)的BIOS程序或 BIOS內(nèi)存。該硬件控制電路包含有一個(gè)BIOS狀態(tài)信號(hào)(BIOS READY信號(hào))輸入 端,及BIOS的切換信號(hào)(BLOCK_SELECT信號(hào))與系統(tǒng)重置信號(hào) (SYS—SWITCH—OU乙N信號(hào))的兩個(gè)信號(hào)輸出端。其中,BIOS狀態(tài)信號(hào)為系統(tǒng)于 BIOS啟始的過(guò)程中,由任何一個(gè)可通過(guò)BIOS程控的芯片通過(guò)芯片接腳,如一 般用途輸入輸出(General Purpose 1/0, GPIO)接腳,傳遞至硬件控制電路的 信號(hào),且BIOS狀態(tài)信號(hào)于計(jì)算機(jī)系統(tǒng)開(kāi)機(jī)時(shí)的初始值設(shè)為失能(Disable)信 號(hào)。另外,BIOS的切換信號(hào),由硬件控制電路傳送失能信號(hào)或是致能信號(hào)至 切換電路以控制BIOS程序或BIOS內(nèi)存的切換。而系統(tǒng)重置信號(hào)為硬件控制電 路傳送至南橋芯片的重置(reset)信號(hào),以使系統(tǒng)重新開(kāi)機(jī)。
因BIOS狀態(tài)信號(hào)于計(jì)算機(jī)系統(tǒng)開(kāi)機(jī)時(shí)的初始值設(shè)為失能信號(hào),若在BIOS 程序完成開(kāi)機(jī)自我測(cè)試(POST)檢測(cè)本身的狀態(tài)為正常時(shí),通過(guò)如一般用途輸入 輸出的芯片接腳,將BIOS狀態(tài)信號(hào)改變?yōu)橹履苄盘?hào)。因此當(dāng)系統(tǒng)開(kāi)啟一段預(yù) 定時(shí)間后,硬件控制電路即檢測(cè)判斷BIOS狀態(tài)信號(hào)為失能信號(hào)或致能信號(hào)。 若BIOS狀態(tài)信號(hào)為致能信號(hào)則系統(tǒng)繼續(xù)進(jìn)行該BIOS程序的開(kāi)機(jī)程序;若BIOS 狀態(tài)信號(hào)為失能信號(hào),則硬件控制電路傳送一個(gè)BIOS的切換信號(hào)至切換電路, 使系統(tǒng)被切換連向另一個(gè)BIOS程序,并同時(shí)發(fā)出系統(tǒng)重置信號(hào)以重新啟動(dòng)系 統(tǒng)。而由硬件控制電路重新啟動(dòng)系統(tǒng)時(shí),則保持由切換后的BIOS程序啟動(dòng)系 統(tǒng)。此外,上述的可自動(dòng)切換并互相提供備援的兩個(gè)BIOS程序,可為儲(chǔ)存于 一個(gè)實(shí)體BIOS內(nèi)存中不同地址區(qū)段的程序代碼,或分別儲(chǔ)存于兩個(gè)實(shí)體BIOS 內(nèi)存中的程序。另外,該兩個(gè)BIOS程序的內(nèi)容可為相同的程序代碼,或者因 BIOS備份、BIOS備援、防毒等不同目的而分別包含不同的程序代碼。
借此,由本發(fā)明的方法更可達(dá)到另一功效,即若BIOS本身的啟動(dòng)區(qū)是損 壞的,BIOS即無(wú)法針對(duì)本身進(jìn)行檢測(cè),也或于開(kāi)機(jī)自我測(cè)試(POST)過(guò)程中發(fā) 生異常,因此無(wú)法于開(kāi)機(jī)后的預(yù)定時(shí)間內(nèi)致能BIOS狀態(tài)信號(hào)。又由于BIOS 狀態(tài)信號(hào)于計(jì)算機(jī)系統(tǒng)電源開(kāi)啟時(shí)的初始值即為失能信號(hào),所以當(dāng)硬件控制電 路檢測(cè)到BIOS狀態(tài)信號(hào)為失能信號(hào),即表示該BIOS無(wú)法成功完成系統(tǒng)啟動(dòng), 因此通過(guò)硬件控制電路自動(dòng)發(fā)出一個(gè)BIOS的切換信號(hào)至切換電路,使切換電 路切換系統(tǒng)連至另一個(gè)BIOS,并由該切換后的BIOS重新啟動(dòng)系統(tǒng)。達(dá)到即使 一個(gè)BIOS程序或BIOS內(nèi)存完全損壞,仍可以由系統(tǒng)自動(dòng)切換到另一個(gè)BIOS
程序或BI0S內(nèi)存以完成系統(tǒng)啟動(dòng)的目的。
為讓本發(fā)明的上述和其它目的、特征、優(yōu)點(diǎn)與實(shí)施例能更明顯易懂,所附 附圖的詳細(xì)說(shuō)明如下
圖1為本發(fā)明的自動(dòng)切換BIOS程序的系統(tǒng)實(shí)施例一的架構(gòu)示意圖2為本發(fā)明的自動(dòng)切換BIOS程序的系統(tǒng)實(shí)施例二的架構(gòu)示意T圖3A及圖3B為本發(fā)明的一種自動(dòng)切換BIOS程序的方法的步驟流程圖。
g中,附圖標(biāo)記
100:系統(tǒng)210:硬件控制電路
110:硬件控制電路220:中央處理單元
120:中央處理單元230:供電單元
130:供電單元240:切換電路
跳切換電路250:第一BI0S內(nèi)存
150:BIOS內(nèi)存251:第一 BIOS程序
151:第一BI0S程序260:第二 BIOS內(nèi)存
152:第二 BIOS程序261:第二 BIOS程序
200:系統(tǒng)
具體實(shí)施例方式
本發(fā)明為一種自動(dòng)切換基本輸入/輸出程序的系統(tǒng)及其方法,主要提出一
種具有兩個(gè)可自動(dòng)切換并互相提供備援的BIOS程序,以達(dá)到即使一個(gè)BIOS 程序完全損壞,仍可以自動(dòng)切換到另一個(gè)BIOS程序以啟動(dòng)系統(tǒng)的技術(shù)。以下 先詳細(xì)敘述本發(fā)明的系統(tǒng),并以應(yīng)用本發(fā)明技術(shù)的較佳實(shí)施例,配合附圖詳細(xì) 說(shuō)明本發(fā)明的內(nèi)容及技術(shù)。
首先,請(qǐng)先參照?qǐng)D1,為本發(fā)明的具有可自動(dòng)切換BIOS程序的系統(tǒng)實(shí)施 例一的架構(gòu)示意圖。實(shí)施例一的自動(dòng)切換BIOS程序的系統(tǒng)100,包含硬件控 制電路110、中央處理單元120、供電單元130、切換電路140、以及一個(gè)實(shí)體 BIOS內(nèi)存150所組成,其中實(shí)體BIOS內(nèi)存150中存有第一 BIOS程序151及 第二 BIOS程序152。其中,硬件控制電路110為一個(gè)可程序化的邏輯電路,
于系統(tǒng)100啟動(dòng)后一預(yù)定時(shí)間,通過(guò)硬件控制電路110檢測(cè)BIOS狀態(tài)信號(hào),
若該BIOS狀態(tài)信號(hào)為失能(disable)信號(hào)則發(fā)出切換信號(hào)至切換電路140,并 且重新啟動(dòng)系統(tǒng)100,其中該BIOS狀態(tài)信號(hào)為在系統(tǒng)100于BIOS程序啟始的 過(guò)程中,由任何一個(gè)可被中央處理單元120控制的芯片通過(guò)芯片接腳(如一 般用途輸入輸出接腳)傳遞至該硬件控制電路110的信號(hào),同時(shí)其于系統(tǒng)100 開(kāi)機(jī)時(shí)的初始值為一失能信號(hào)。另外,第一 BIOS程序151及第二 BIOS程序 152,均用以啟始系統(tǒng)的程序,分別儲(chǔ)存于實(shí)體BK)S內(nèi)存150中的不同的地址 區(qū)段,比如于一個(gè)4MB的實(shí)體BIOS內(nèi)存中,于內(nèi)存地址編碼0 2MB地址 處與2 4MB地址處,分別各儲(chǔ)存一個(gè)基本輸出/輸入系統(tǒng)程序。而切換電路 140連接至硬件控制電路110,當(dāng)接收到自硬件控制電路110傳來(lái)的切換信號(hào), 則變更BIOS內(nèi)存150中的地址編碼,以連向該第一 BIOS程序151或該第二 BIOS程序152,達(dá)到自動(dòng)切換備援的基本輸出/輸入系統(tǒng)程序以啟動(dòng)計(jì)算機(jī)系 統(tǒng)的目的。此外,上述的第一 BIOS程序151及第二 BIOS程序152均為包含啟 始系統(tǒng)的程序,其兩者的內(nèi)容可為相同的程序代碼,或者因BI0S備份、BIOS 備援、防毒等不同目的而分別包含不同的程序代碼。
借此,即可于硬件控制電路110設(shè)計(jì)加入一個(gè)BIOS狀態(tài)信號(hào)(BI0S READY 信號(hào))的輸入端,當(dāng)系統(tǒng)100開(kāi)機(jī)并以第一 BIOS程序151啟始時(shí),先初始BIOS 狀態(tài)信號(hào)為失能信號(hào)。在完成開(kāi)機(jī)自我測(cè)試(POST)后才將BIOS狀態(tài)信號(hào)變更 為致能信號(hào)。因此待系統(tǒng)100開(kāi)機(jī)啟動(dòng)后一預(yù)定時(shí)間,硬件控制電路110即檢 測(cè)BI0S狀態(tài)信號(hào)為致能信號(hào)或失能信號(hào)。若檢測(cè)到BI0S狀態(tài)信號(hào)為失能信號(hào), 即表示該系統(tǒng)100的BIOS無(wú)法成功完成系統(tǒng)100的啟動(dòng),則通過(guò)硬件控制電 路110傳送一個(gè)BI0S的切換信號(hào)(BLOCK—SELECT信號(hào))至該切換電路140以切 換系統(tǒng)100連至第二 BIOS程序152,并發(fā)出系統(tǒng)重置信號(hào)(SYS—SWITCH—OUT—N ENABLE)以重新啟動(dòng)系統(tǒng)100。此時(shí)切換電路140就會(huì)變更啟始系統(tǒng)100的BIOS 程序的地址編碼,而使用第二 BIOS程序152啟始該系統(tǒng)100。此技術(shù)手段只 需要更改硬件控制電路的程序,并配合一個(gè)BIOS程序的切換電路,就可以達(dá) 到完全救援的目的,如實(shí)施例一中只需要通過(guò)一個(gè)互斥或門。因此在生產(chǎn)成本 和系統(tǒng)運(yùn)作效益上均有很大的改善。
接著,請(qǐng)參照?qǐng)D2,為本發(fā)明的具有可自動(dòng)切換BIOS程序的系統(tǒng)實(shí)施例 二的架構(gòu)示意圖。實(shí)施例二的可自動(dòng)切換BI0S內(nèi)存的系統(tǒng)200,至少包含由
硬件控制電路210、中央處理爭(zhēng)元220、供電單元230、切換電路240、以及第 -- BIOS內(nèi)存250和第二 BIOS內(nèi)存260等兩個(gè)實(shí)體BIOS內(nèi)存所組成。其與實(shí) 施例一的運(yùn)作原理相同,唯一不同于實(shí)施例一之處在于實(shí)施例二的系統(tǒng)200 具有兩個(gè)實(shí)體BIOS內(nèi)存第一 BIOS內(nèi)存250、第二 BIOS內(nèi)存260,并分別于第 一 BIOS內(nèi)存250中儲(chǔ)存有第一 BIOS程序251及于第二 BIOS內(nèi)存260中儲(chǔ)存 有第二 BIOS程序261。于系統(tǒng)200啟動(dòng)后一預(yù)定時(shí)間,通過(guò)硬件控制電路210 檢測(cè)BIOS狀態(tài)信號(hào),若該BIOS狀態(tài)信號(hào)為失能(disable)信號(hào)則發(fā)出切換信 號(hào)至切換電路240,并且重新啟動(dòng)系統(tǒng)200,其中該BIOS狀態(tài)信號(hào)為在系統(tǒng) 200于BIOS程序啟始的過(guò)程中,由任何一個(gè)可被中央處理單元220控制的芯 片通過(guò)芯片接腳(如 一般用途輸入輸出接腳)傳遞至該硬件控制電路210的信 號(hào),同時(shí)其于系統(tǒng)200開(kāi)機(jī)時(shí)的初始值為一失能信號(hào)。上述的第一BIOS程序 251及第二 BIOS程序261均為包含啟始系統(tǒng)的程序,其兩者的內(nèi)容可為相同 的程序代碼,或者因BIOS備份、BI0S備援、防毒等不同目的而分別包含不同 的程序代碼。
借此,即可于硬件控制電路210設(shè)計(jì)加入--個(gè)BIOS狀態(tài)信號(hào)的輸入端, 當(dāng)系統(tǒng)200開(kāi)機(jī)并以第一 BIOS程序251啟始時(shí),先初始BIOS狀態(tài)信號(hào)為失能 信號(hào)。在完成開(kāi)機(jī)自我測(cè)試(POST)后才將BIOS狀態(tài)信號(hào)變更為致能信號(hào)。因 此待系統(tǒng)200開(kāi)機(jī)啟動(dòng)后一預(yù)定時(shí)間,硬件控制電路210即檢測(cè)BIOS狀態(tài)信 號(hào)為致能信號(hào)或失能信號(hào)。若檢測(cè)到BIOS狀態(tài)信號(hào)為失能信號(hào),即表示該BIOS 無(wú)法成功完成系統(tǒng)200的啟動(dòng),則通過(guò)硬件控制電路210傳送一個(gè)BIOS的切 換信號(hào)至該切換電路240以切換系統(tǒng)200連至第二 BIOS程序261,并發(fā)出系 統(tǒng)重置信號(hào)以重新啟動(dòng)系統(tǒng)200。此時(shí)系統(tǒng)就會(huì)使用第二 BIOS程序261開(kāi)機(jī)。
接下來(lái),將針對(duì)本發(fā)明所提出的方法技術(shù)手段作說(shuō)明,請(qǐng)配合參照?qǐng)D3A、 圖3B,為本發(fā)明的一種自動(dòng)切換BIOS程序的方法的步驟流程圖。為簡(jiǎn)化說(shuō)明, 以下僅以實(shí)施例一的系統(tǒng)100的實(shí)施態(tài)樣為例,但并不限定本發(fā)明的方法技 術(shù)。請(qǐng)先參照?qǐng)D3A,當(dāng)使用者開(kāi)啟計(jì)算機(jī)時(shí),首先,通過(guò)第一 BIOS程序151 啟動(dòng)系統(tǒng)100(步驟300);然后在系統(tǒng)100啟動(dòng)一段預(yù)定時(shí)間后,通過(guò)硬件控 制電路110檢測(cè)BIOS狀態(tài)信號(hào)是否為失能信號(hào)(步驟310);步驟310中若BIOS 狀態(tài)信號(hào)為致能信號(hào),則直接通過(guò)第一 BIOS程序151完成系統(tǒng)啟動(dòng)(步驟 320);但歩驟310中若BIOS狀態(tài)信號(hào)為失能信號(hào),則通過(guò)該硬件控制電路110 傳送一切換信號(hào)至切換電路140以利用第二 BIOS程序152啟始系統(tǒng)100 (步驟 330);接著,重新啟動(dòng)系統(tǒng)100(步驟340),且切換電路140維持以第二 BIOS 程序152啟始系統(tǒng)100;待系統(tǒng)100重新開(kāi)啟并通過(guò)第二 BIOS程序152完成 系統(tǒng)啟始(步驟350);最后結(jié)束此步驟流程。其中,上述步驟350通過(guò)第二 BIOS 程序152完成系統(tǒng)啟始的步驟,還包含當(dāng)系統(tǒng)100啟動(dòng)至該預(yù)定時(shí)間,該硬件 控制電路110若檢測(cè)到該BIOS狀態(tài)信號(hào)為失能信號(hào),則傳送該切換信號(hào)至該 切換電路140以利用該第一 BIOS程序151啟始該系統(tǒng)。借此,達(dá)到系統(tǒng)可自 動(dòng)切換連向可正常運(yùn)作的BIOS程序,以完成啟始系統(tǒng)的目的。
其中,上述歩驟300還包含了細(xì)部流程A。請(qǐng)接著參照?qǐng)D3B。于流程A 中,當(dāng)使用者在開(kāi)啟計(jì)算機(jī)系統(tǒng)的同時(shí),系統(tǒng)100會(huì)先初始BIOS狀態(tài)信號(hào)為 失能信號(hào)(步驟301);接著,利用該BIOS程序中的啟動(dòng)區(qū)對(duì)該BIOS程序中的 系統(tǒng)設(shè)定區(qū)進(jìn)行判斷(歩驟302),其中,啟動(dòng)區(qū)指BIOS程序中包含檢測(cè)系統(tǒng) 設(shè)定區(qū)(System Rom)狀態(tài)的程序代碼,而系統(tǒng)設(shè)定區(qū)指BIOS程序中啟動(dòng)區(qū)的 外的其它程序代碼;上述步驟302中的該啟動(dòng)區(qū)本身若損毀,則無(wú)法對(duì)該系統(tǒng) 設(shè)定區(qū)進(jìn)行檢測(cè),此即BIOS程序本身己損毀或BIOS內(nèi)存損壞的情形,因此直 接接續(xù)步驟330;但若步驟302中的該啟動(dòng)區(qū)能順利對(duì)系統(tǒng)設(shè)定區(qū)進(jìn)行檢測(cè), 則接著判斷系統(tǒng)設(shè)定區(qū)是否正常(歩驟303);于上述步驟303中,若系統(tǒng)設(shè)定 區(qū)被判斷為異常,則可提示BIOS錯(cuò)誤的警告(步驟304)并接續(xù)步驟310,但若 系統(tǒng)設(shè)定區(qū)被判斷為正常,則硬件控制電路110變更BIOS狀態(tài)信號(hào)為致能信 號(hào)(步驟305);而后,再接續(xù)至歩驟310。
如此,在計(jì)算機(jī)系統(tǒng)啟動(dòng)過(guò)程中,通過(guò)第一BIOS程序啟動(dòng)系統(tǒng),BIOS程 序的啟動(dòng)區(qū)對(duì)其BIOS程序本身的系統(tǒng)設(shè)定區(qū)進(jìn)行開(kāi)機(jī)自我測(cè)試(POST),在檢 測(cè)結(jié)果為正常的情況下變更BIOS狀態(tài)信號(hào)為致能信號(hào)。因此,在系統(tǒng)開(kāi)啟后 一預(yù)定時(shí)間,若當(dāng)硬件控制電路檢測(cè)到BIOS狀態(tài)信號(hào)為致能信號(hào),則直接通 過(guò)第一BIOS程序啟始系統(tǒng)。但若當(dāng)開(kāi)機(jī)自我測(cè)試(POST)出現(xiàn)異常,也或當(dāng)?shù)?一 BIOS程序本身啟動(dòng)區(qū)的程序已損毀或異常,即無(wú)法對(duì)BIOS程序中系統(tǒng)設(shè)定 區(qū)(System Rom)進(jìn)行檢測(cè),因此均無(wú)法變更BIOS狀態(tài)信號(hào)為致能信號(hào)。故待 該硬件控制電路檢測(cè)到該BIOS狀態(tài)信號(hào)為失能信號(hào)時(shí),則隨即切換系統(tǒng)連至 第二BI0S程序,并重新啟動(dòng)系統(tǒng)。同時(shí)由硬件控制電路重新開(kāi)啟系統(tǒng)時(shí),維 持系統(tǒng)以第二BI0S程序啟始。借此,即使BIOS程序本身的啟動(dòng)區(qū)是損壞的,
也或即使一個(gè)BIOS程序或BIOS內(nèi)存完全損壞,仍可以由系統(tǒng)自動(dòng)切換到另一 個(gè)BIOS程序或BIOS內(nèi)存以完成系統(tǒng)啟動(dòng),達(dá)到自動(dòng)切換BIOS程序的目的。
當(dāng)然,本發(fā)明還可有其它多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情 況下,熟悉本領(lǐng)域的普通技術(shù)人員當(dāng)可根據(jù)本發(fā)明做出各種相應(yīng)的改變和變 形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1.一種自動(dòng)切換基本輸入/輸出程序的系統(tǒng),其特征在于,至少包含一硬件控制電路,為一可程序化邏輯電路,于該系統(tǒng)啟動(dòng)后一預(yù)定時(shí)間,檢測(cè)一基本輸入/輸出系統(tǒng)狀態(tài)信號(hào),若該基本輸入/輸出系統(tǒng)狀態(tài)信號(hào)為一失能信號(hào)則發(fā)出一切換信號(hào),并且重新啟動(dòng)該系統(tǒng),其中該基本輸入/輸出系統(tǒng)狀態(tài)信號(hào)在該系統(tǒng)于開(kāi)機(jī)時(shí)的初始值為該失能信號(hào);一第一基本輸入/輸出系統(tǒng)程序與一第二基本輸入/輸出系統(tǒng)程序,分別儲(chǔ)存于兩個(gè)實(shí)體基本輸入/輸出系統(tǒng)內(nèi)存,或儲(chǔ)存于同一個(gè)實(shí)體基本輸入/輸出系統(tǒng)內(nèi)存中的兩個(gè)地址區(qū)段,均可啟始該系統(tǒng),并于完成開(kāi)機(jī)自我測(cè)試后,變更該基本輸入/輸出系統(tǒng)狀態(tài)信號(hào)為一致能信號(hào),其中該系統(tǒng)先被該第一基本輸入/輸出系統(tǒng)程序啟始;以及一切換電路,連接該硬件控制電路,當(dāng)接收到該切換信號(hào),則利用該第二基本輸入/輸出系統(tǒng)程序啟始該系統(tǒng);其中,該切換電路在由該硬件控制電路控制該系統(tǒng)重新啟動(dòng)的情況下,維持該系統(tǒng)先以該第二基本輸入/輸出系統(tǒng)程序啟始。
2. 根據(jù)權(quán)利要求1所述的自動(dòng)切換基本輸入/輸出程序的系統(tǒng),其特征在 于,該基本輸入/輸出系統(tǒng)狀態(tài)信號(hào)包含任一可被該系統(tǒng)的基本輸入/輸出系統(tǒng) 控制的信號(hào)。
3. —種自動(dòng)切換基本輸入/輸出程序的方法,其特征在于,至少包含下列步驟通過(guò)一第一基本輸入/輸出系統(tǒng)程序啟始一系統(tǒng);于該系統(tǒng)啟動(dòng)至一預(yù)定時(shí)間,通過(guò)一硬件控制電路檢測(cè)一基本輸入/輸出 系統(tǒng)狀態(tài)信號(hào)是否為一失能信號(hào);當(dāng)該基本輸入/輸出系統(tǒng)狀態(tài)信號(hào)為該失能信號(hào)時(shí),通過(guò)該硬件控制電路 傳送一切換信號(hào)至一切換電路以利用一案二基本輸入/輸出系統(tǒng)程序啟始該系 統(tǒng);以及重新啟動(dòng)該系統(tǒng);該第一基本輸入/輸出系統(tǒng)程序與該第二基本輸入/輸出系統(tǒng)程序,分別儲(chǔ) 存于兩個(gè)實(shí)體基本輸入/輸出系統(tǒng)內(nèi)存或儲(chǔ)存于同一個(gè)實(shí)體基本輸入/輸出系統(tǒng)內(nèi)存中的兩個(gè)地址區(qū)段,其均可啟始該系統(tǒng),并于完成開(kāi)機(jī)自我測(cè)試后,變更 該基本輸入/輸出系統(tǒng)狀態(tài)信號(hào)為一致能信號(hào)。
4. 根據(jù)權(quán)利要求3所述的自動(dòng)切換基本輸入/輸出程序的方法,其特征在 于,該基本輸入/輸出系統(tǒng)狀態(tài)信號(hào)在該系統(tǒng)于電源開(kāi)啟時(shí)的初始值為該失能 信號(hào)。
5. 根據(jù)權(quán)利要求3所述的自動(dòng)切換基本輸入/輸出程序的方法,其特征在 于,該硬件控制電路為一可程序化邏輯電路,當(dāng)檢測(cè)到該基本輸入/輸出系統(tǒng) 狀態(tài)信號(hào)為該失能信號(hào)時(shí),發(fā)出該切換信號(hào)至該切換電路并且重新啟動(dòng)該系 統(tǒng)。
6. 根據(jù)權(quán)利要求3所述的自動(dòng)切換基本輸入/輸出程序的方法,其特征在于,該切換電路當(dāng)接收到該切換信號(hào),則利用該第二基本輸入/輸出系統(tǒng)程序 啟始該系統(tǒng)。
7. 根據(jù)權(quán)利要求3所述的自動(dòng)切換基本輸入/輸出程序的方法,其特征在 于,該基本輸入/輸出系統(tǒng)狀態(tài)信號(hào)包含任一可被該系統(tǒng)的基本輸入輸出系統(tǒng) 控制的信號(hào)。
8. 根據(jù)權(quán)利要求3所述的自動(dòng)切換基本輸入/輸出程序的方法,其特征在 于,通過(guò)該系統(tǒng)重新啟動(dòng)的步驟,還包含該切換電路維持以該第二基本輸入/ 輸出系統(tǒng)程序啟始該系統(tǒng)。
9. 根據(jù)權(quán)利要求8所述的自動(dòng)切換基本輸入/輸出程序的方法,其特征在 于,以該第二基本輸入/輸出系統(tǒng)程序啟始該系統(tǒng)的步驟,還包含當(dāng)該系統(tǒng)啟 動(dòng)至該預(yù)定時(shí)間,該硬件控制電路若檢測(cè)到該基本輸入/輸出系統(tǒng)狀態(tài)信號(hào)為 該失能信號(hào),則傳送該切換信號(hào)至該切換電路以利用該第一基本輸入/輸出系 統(tǒng)程序啟始該系統(tǒng)。
10. 根據(jù)權(quán)利要求3所述的自動(dòng)切換基本輸入/輸出程序的方法,其特征在 于,通過(guò)該第一基本輸入/輸出系統(tǒng)程序啟動(dòng)該系統(tǒng)的歩驟,還包含下列歩驟初始該基本輸入/輸出系統(tǒng)狀態(tài)信號(hào)為該失能信號(hào);利用該基本輸入/輸出系統(tǒng)程序中的 一啟動(dòng)區(qū)對(duì)該基本輸入/輸出系統(tǒng)程序 的一系統(tǒng)設(shè)定區(qū)進(jìn)行判斷;以及當(dāng)該系統(tǒng)設(shè)定區(qū)被判斷為正常時(shí),該硬件控制電路變更該基本輸入/輸出 系統(tǒng)狀態(tài)信號(hào)為該致能信號(hào);該啟動(dòng)區(qū)指于該基本輸入/輸出系統(tǒng)程序中包含判斷該系統(tǒng)設(shè)定區(qū)狀態(tài)的 程序代碼。
全文摘要
本發(fā)明公開(kāi)了一種自動(dòng)切換基本輸入/輸出程序的系統(tǒng)及其方法,該系統(tǒng)包括一硬件控制電路,為一可程序化邏輯電路,一第一基本輸入/輸出系統(tǒng)程序與一第二基本輸入/輸出系統(tǒng)程序,一切換電路,連接該硬件控制電路,利用兩個(gè)可自動(dòng)切換并互相提供備援的基本輸入/輸出系統(tǒng),當(dāng)系統(tǒng)通過(guò)第一基本輸入/輸出系統(tǒng)程序啟動(dòng)一段預(yù)定時(shí)間后,通過(guò)硬件控制電路,若檢測(cè)到基本輸入/輸出系統(tǒng)狀態(tài)信號(hào)為失能信號(hào),則切換系統(tǒng)連向第二基本輸入/輸出系統(tǒng)程序并重新啟始系統(tǒng)。
文檔編號(hào)G06F9/445GK101354654SQ20071013635
公開(kāi)日2009年1月28日 申請(qǐng)日期2007年7月24日 優(yōu)先權(quán)日2007年7月24日
發(fā)明者吳善華, 黃安圣 申請(qǐng)人:英業(yè)達(dá)股份有限公司