專利名稱:降低計(jì)算機(jī)基本輸入輸出系統(tǒng)損壞機(jī)率的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種降低計(jì)算機(jī)基本輸入輸出系統(tǒng)(BIOS)損壞機(jī)率的方法,尤指一種通過改變BIOS程序讀取數(shù)據(jù)的方式,避免讀取BIOS型號(hào)數(shù)據(jù)時(shí),因操作不當(dāng)或其它不可預(yù)測(cè)的原因而使得計(jì)算機(jī)誤將不正確的數(shù)據(jù)寫入BIOS裝置中,進(jìn)而降低BIOS損壞機(jī)率。
背景技術(shù):
在數(shù)據(jù)處理系統(tǒng)的架構(gòu)中,所謂的基本輸入輸出系統(tǒng)(basic input-outputsystem,BIOS)是數(shù)據(jù)處理系統(tǒng)開機(jī)后所執(zhí)行的第一道程序,為整個(gè)系統(tǒng)把守第一關(guān),倘若無法運(yùn)行完BIOS程序,通常代表某些硬件可能有問題。
每當(dāng)我們將數(shù)據(jù)處理系統(tǒng)開機(jī)后,中央處理器(CPU)便會(huì)自動(dòng)執(zhí)行一連串的指令,這些指令分成(一)系統(tǒng)配置分析(System Configuration Analysis)分析CPU型號(hào)、BIOS裝置型號(hào)、內(nèi)存大小、軟硬盤機(jī)的數(shù)量與型式、是否安裝浮點(diǎn)運(yùn)算器等,作為后續(xù)動(dòng)作的重要參考數(shù)據(jù)。(二)開機(jī)自我測(cè)試(POST,Power-on SelfTest)測(cè)試內(nèi)存、芯片組、CMOS儲(chǔ)存數(shù)據(jù)、鍵盤和磁盤驅(qū)動(dòng)器等硬件。(三)加載操作系統(tǒng)由一小段稱為「Bootstrap Loader」的程序,找出操作系統(tǒng)(如MS DOS、Windows 2000/98)在硬盤位置并加載。
互補(bǔ)金屬氧化物半導(dǎo)體(Complementary Metal Oxide Semiconductor,CMOS)是一由電池供應(yīng)電源的非揮發(fā)性芯片,用以儲(chǔ)存包括日期、時(shí)間等數(shù)據(jù),當(dāng)主機(jī)板上電池?cái)嗦?,CMOS無法獲得電源供應(yīng)時(shí),其儲(chǔ)存的數(shù)據(jù)將會(huì)消失;而主機(jī)板上通常設(shè)有一開關(guān)(JUMPER)供使用者必要時(shí)將電池?cái)嗦芬允乖O(shè)定值回復(fù)至初始值(Default Value)。
BIOS程序?qū)IOS裝置下達(dá)的指令包括讀及寫。無論是讀或?qū)懙闹噶罹恢翑?shù)個(gè)命令,讀的指令不會(huì)對(duì)BIOS裝置造成破壞;然而錯(cuò)誤的寫指令卻可能對(duì)BIOS裝置造成破壞。
BIOS裝置的型號(hào)為兩個(gè)十六位字節(jié)(byte)值,在讀取BIOS型號(hào)(ID)時(shí),可能因使用者操作不當(dāng)(例如誤觸RESET鍵)或一些噪聲(NOISE),因錯(cuò)誤的信號(hào)介入而將錯(cuò)誤的指令寫入BIOS裝置。例如讀取BIOS型號(hào)的指令為A1+B1+C1,在POST的過程中,有一寫入指令A(yù)2+B2+C2外加一數(shù)據(jù)值D,在執(zhí)行寫入指令至C2時(shí),使用者誤觸RESET鍵,使得跳過D而再重新執(zhí)行讀取BIOS型號(hào)的指令(A1+B1+C1),由于程序會(huì)將第4個(gè)命令視為數(shù)據(jù)值,此時(shí)A1命令會(huì)被誤認(rèn)為是數(shù)據(jù)值D而寫入BIOS裝置內(nèi),造成錯(cuò)誤而損毀。使用者就必需將主機(jī)板或計(jì)算機(jī)送修,對(duì)業(yè)者而言過高的維修率(RMA)也會(huì)造成成本上的負(fù)擔(dān)。
另外一種情況是在執(zhí)行讀取BIOS型號(hào)的過程中,例如執(zhí)行至A1+B1(完整的指令為A1+B1+C1),遇到噪聲(noise),該噪聲被誤認(rèn)為寫入指令A(yù)2+B2+C2而將C1視為數(shù)據(jù)值而寫入BIOS裝置內(nèi)造成錯(cuò)誤而損毀。
為解決上述問題,發(fā)明人努力研究解決方案,終構(gòu)思出本發(fā)明的降低BIOS損壞機(jī)率的方法。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種檢測(cè)并讀取BIOS裝置的型號(hào)數(shù)據(jù)的方法,可避免讀取BIOS型號(hào)數(shù)據(jù)時(shí),因操作不當(dāng)或其它不可預(yù)測(cè)的原因而使得計(jì)算機(jī)誤將不正確的數(shù)據(jù)寫入BIOS裝置中,進(jìn)而降低BIOS損壞機(jī)率。
為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種檢測(cè)并讀取BIOS裝置的型號(hào)數(shù)據(jù)的方法,計(jì)算機(jī)開機(jī)后,執(zhí)行BIOS程序,該BIOS程序會(huì)首先檢測(cè)CMOS上是否有BIOS裝置的ID值,如果為第一次執(zhí)行BIOS程序或CMOS上的數(shù)據(jù)經(jīng)放電而清除時(shí),BIOS程序會(huì)檢測(cè)不到BIOS裝置的ID值,此時(shí)BIOS程序下達(dá)指令讀取位于BIOS裝置上的ID值,并將位于BIOS裝置上的ID值寫入CMOS內(nèi),下次開機(jī)后,計(jì)算機(jī)便可直接由CMOS上讀取BIOS裝置的ID值;若BIOS程序可在CMOS上讀到BIOS裝置的ID值,則繼續(xù)后續(xù)的測(cè)試工作。
上述的BIOS裝置可為下列其中之一MASK ROM、EPROM、EEPROM及FLASH ROM。
由于本發(fā)明的讀取BIOS裝置ID值的方法,是先從CMOS上查找該值,如果失敗才從BIOS上讀取,并且將BIOS上讀取到的ID值同時(shí)寫到CMOS上,便于下次讀取,從而大大減少了讀取BIOS的次數(shù),有效地減少了因操作不當(dāng)或其它不可預(yù)測(cè)的原因而使得計(jì)算機(jī)誤將不正確的數(shù)據(jù)寫入BIOS裝置中,進(jìn)而降低了BIOS損壞機(jī)率。
下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步說明。
圖1是本發(fā)明降低BIOS損壞機(jī)率的方法的方塊圖。
具體實(shí)施例方式
如圖1所示,是本較佳實(shí)施例的流程圖。本實(shí)施例中,BIOS裝置為FLASH ROM。當(dāng)在步驟10,計(jì)算機(jī)開機(jī)后,轉(zhuǎn)到步驟11,執(zhí)行位于FLASHROM上的BIOS程序,接下來的步驟12,該BIOS程序會(huì)首先檢測(cè)CMOS上是否有FLASH ROM的ID值,當(dāng)檢測(cè)不到FLASH ROM的ID值時(shí),轉(zhuǎn)到步驟13,BIOS程序下達(dá)指令讀取位于FLASH ROM上的ID值,并將位于FLASHROM上的ID值寫入CMOS內(nèi),下次開機(jī)后,計(jì)算機(jī)便可直接由CMOS上讀取FLASH ROM的ID值;若在步驟12,BIOS程序可在CMOS上讀到FLASH ROM的ID值,則在步驟14讀取FLASH ROM的ID值,然后在步驟15,繼續(xù)后續(xù)的測(cè)試工作。
由于本發(fā)明的讀取FLASH ROM的ID值的方法,是先從CMOS上查找該值,如果失敗才從FLASH ROM上讀取,并且將讀取到的ID值同時(shí)寫到CMOS上,便于下次讀取,從而大大減少了讀取BIOS的次數(shù),有效地減少了因操作不當(dāng)或其它不可預(yù)測(cè)的原因而使得計(jì)算機(jī)誤將不正確的數(shù)據(jù)寫入BIOS裝置中,進(jìn)而降低了BIOS損壞機(jī)率。
權(quán)利要求
1.一種降低BIOS損壞機(jī)率的方法,其特征在于,包括下列步驟執(zhí)行BIOS程序;檢測(cè)CMOS上是否有BIOS裝置的型號(hào)值;如果有該BIOS裝置的型號(hào)值,則讀取該CMOS上的該BIOS裝置的型號(hào)值,并繼續(xù)尚未完成的BIOS檢查工作;如果無該BIOS裝置的型號(hào)值,則讀取位于BIOS裝置上的BIOS裝置的型號(hào)值并通過該BIOS程序?qū)⑽挥贐IOS裝置的型號(hào)值寫入CMOS,然后繼續(xù)尚未完成的BIOS檢查工作;以使得下次開機(jī)后,BIOS程序可由CMOS讀取BIOS裝置的型號(hào)值,降低BIOS損壞機(jī)率。
2.如權(quán)利要求1所述的方法,其特征在于,該BIOS裝置為一Flash ROM。
全文摘要
本發(fā)明公開了一種降低BIOS損壞機(jī)率的方法,包括下列步驟執(zhí)行BIOS程序;檢測(cè)CMOS上是否有BIOS裝置的型號(hào)值;如果有該BIOS裝置的型號(hào)值,則讀取該CMOS上的該BIOS裝置的型號(hào)值,并繼續(xù)尚未完成的BIOS檢查工作;如果無該BIOS裝置的型號(hào)值,則讀取位于BIOS裝置上的BIOS裝置的型號(hào)值并通過該BIOS程序?qū)⑽挥贐IOS裝置的型號(hào)值寫入CMOS,然后繼續(xù)尚未完成的BIOS檢查工作;以使得下次開機(jī)后,BIOS程序可由CMOS讀取BIOS裝置的型號(hào)值,降低BIOS損壞機(jī)率。
文檔編號(hào)G06F11/34GK1523502SQ0310489
公開日2004年8月25日 申請(qǐng)日期2003年2月21日 優(yōu)先權(quán)日2003年2月21日
發(fā)明者賴勇元 申請(qǐng)人:技嘉科技股份有限公司