專利名稱::切換開機(jī)執(zhí)行地址的方法與裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明有關(guān)一種在電腦系統(tǒng)中切換地址的方法與裝置,且特別是有關(guān)一種在電腦系統(tǒng)中切換指令執(zhí)行地址的方法與裝置。(2)
背景技術(shù):
目前80x86系列的中央處理單元(CentralProcessingUnit,以下簡稱CPU)開機(jī)后的執(zhí)行地址是固定的。如圖1所示,若CPU101的種類是80286,則開機(jī)后會(huì)從存儲(chǔ)器102的地址F000FFF0h(后面的″h″表示十六進(jìn)位數(shù))抓取第一個(gè)執(zhí)行的指令。若CPU101的種類是80386,則是從地址FFFFFFF0h開始執(zhí)行。上述的兩種情況,開機(jī)后的第一個(gè)執(zhí)行地址(以下簡稱「開機(jī)執(zhí)行地址」)都會(huì)映射(mapping)到基本輸入輸出系統(tǒng)(BasicInput/OutputSystem,以下簡稱BIOS)的開始位置,而BIOS通常是存放于非揮發(fā)性(non-volatile)的記憶儲(chǔ)存裝置,例如繪示于圖1的電可擦除可編程只讀存儲(chǔ)器(ElectricallyErasableProgrammableReadOnlyMemory,以下簡稱EEPROM)103。因?yàn)殚_機(jī)執(zhí)行地址是固定的,如果想在開機(jī)時(shí)根據(jù)某些特別條件來選擇執(zhí)行的程序段,目前只能從BIOS的程序碼著手,例如繪示于圖2的流程。開機(jī)時(shí),步驟202會(huì)檢查擴(kuò)充開機(jī)模式(expandedbootmode)是否啟用,如果是,就到步驟204,執(zhí)行擴(kuò)充開機(jī)模式的特別功能(如充當(dāng)DVD播放機(jī)),否則就到步驟206,執(zhí)行一般開機(jī)的功能(如當(dāng)作一般電腦使用)。這個(gè)方法因?yàn)槭褂密浖袛嚅_機(jī)時(shí)的特別條件,所以必須要等到所有在一般啟動(dòng)時(shí)所需進(jìn)行的前置作業(yè)完成后才能進(jìn)行,因此此種方法有速度慢的缺點(diǎn),而且每次更新BIOS,必須整個(gè)一起更新,不能只更新一部分,因此缺乏獨(dú)立性。目前的信息家電是以電腦執(zhí)行家電功能,例如電視機(jī)、收音機(jī)、或各種媒體格式的錄放影機(jī),要求的是執(zhí)行效率與易于使用,目前的方法因?yàn)殚_機(jī)速度慢以及缺乏獨(dú)立性,并不能滿足我們的需求。(3)
發(fā)明內(nèi)容本發(fā)明的目的是提供一種切換開機(jī)執(zhí)行地址的方法與裝置,以加快開機(jī)速度,提高BIOS更新時(shí)的獨(dú)立性,進(jìn)而增加產(chǎn)品競(jìng)爭力。為達(dá)成上述及其他目的,本發(fā)明提出一種切換開機(jī)執(zhí)行地址的方法,包括下列步驟先讀取一切換信號(hào),然后讀取一參考地址,然后根據(jù)切換信號(hào)與參考地址進(jìn)行計(jì)算,從多個(gè)可能地址當(dāng)中選出一個(gè)開機(jī)執(zhí)行地址。從另一觀點(diǎn)來看,本發(fā)明另提出一種切換開機(jī)執(zhí)行地址的裝置,此裝置是耦接于一CPU與保存多個(gè)開機(jī)程序段的一非揮發(fā)性存儲(chǔ)器之間,包括一開機(jī)裝置,根據(jù)不同的開機(jī)需求送出相對(duì)應(yīng)的一切換信號(hào);以及一切換裝置,接收由CPU所送出的一參考地址,與由上述開機(jī)裝置所送出的切換信號(hào),并根據(jù)切換信號(hào)改變參考地址的內(nèi)容,輸出改變后的參考地址,做為開機(jī)執(zhí)行地址。本發(fā)明提出的方法與裝置,因?yàn)椴皇褂密浖?,而是以硬件判斷開機(jī)時(shí)的特別條件,并且能選擇開機(jī)時(shí)執(zhí)行的程序段,因此能加快開機(jī)速度,也能提高BIOS更新時(shí)的獨(dú)立性,可以只更新一部份BIOS,不用整個(gè)更新。產(chǎn)品競(jìng)爭力也因此而提高。為讓本發(fā)明的上述和其他目的、特征和優(yōu)點(diǎn)能更明顯易懂,下面特舉一實(shí)施例,并配合附圖進(jìn)行詳細(xì)說明。(4)圖1為先前技術(shù)的開機(jī)模式判斷流程圖。圖2為先前技術(shù)的開機(jī)執(zhí)行地址示意圖。圖3為本發(fā)明的一實(shí)施例的開機(jī)執(zhí)行地址示意圖。圖4為本發(fā)明提出的切換開機(jī)執(zhí)行地址的裝置的一實(shí)施例的示意圖。圖5為本發(fā)明提出的切換開機(jī)執(zhí)行地址的方法的一實(shí)施例的流程圖。(5)具體實(shí)施方式本發(fā)明提出一種切換開機(jī)執(zhí)行地址(也就是開機(jī)后第一個(gè)執(zhí)行的指令地址)的方法與其對(duì)應(yīng)裝置,可應(yīng)用在開機(jī)時(shí)需要根據(jù)特別條件,執(zhí)行不同功能的個(gè)人電腦與信息家電裝置。例如數(shù)字化視頻光盤(DVD)播放機(jī)平常是以快速模式開機(jī),而在工廠測(cè)試或維修時(shí)必須以除錯(cuò)模式開機(jī),又或者平常當(dāng)做電腦,要使用數(shù)字化視頻光盤播放機(jī)時(shí)更換開機(jī)模式,有了本發(fā)明的方法與裝置后,就會(huì)方便許多,當(dāng)做信息家電使用時(shí),開機(jī)也會(huì)更加迅速。圖3繪示本發(fā)明的概念,圖3與圖1大致相同,也包括中央處理單元(CentralProcessingUnit,以下簡稱CPU)101、存儲(chǔ)器102、以及存放基本輸入輸出系統(tǒng)(BasicInput/OutputSystem,以下簡稱BIOS)的電可擦除可編程只讀存儲(chǔ)器(ElectricallyErasableProgrammableReadOnlyMemory,以下簡稱EEPROM)103,雖然由圖中可見的差別是圖3的BIOS包含兩個(gè)不同的開機(jī)程序段,也就是第一開機(jī)程序段301與第二開機(jī)程序段302,可供CPU在開機(jī)后根據(jù)某些特別條件,從中選擇其一,但是實(shí)際上還必須提供一個(gè)切換機(jī)制來切換開機(jī)執(zhí)行地址所對(duì)應(yīng)到的究竟是第一開機(jī)程序段301或第二開機(jī)程序段302。也就是說,開機(jī)執(zhí)行地址會(huì)根據(jù)開機(jī)時(shí)的特別條件,在兩個(gè)可能地址當(dāng)中切換。如此在更新BIOS時(shí)僅需更新特定的開機(jī)程序段,不需更新整個(gè)BIOS,更具獨(dú)立性。此外,在其他實(shí)施例中,BIOS可以包含任意數(shù)量的開機(jī)程序段,而非如圖3繪示的僅有兩個(gè)。以下說明本發(fā)明提出的切換開機(jī)執(zhí)行地址的裝置,圖4為此裝置的一個(gè)實(shí)施例。元件401是一個(gè)80x86系列的CPU,地址線405與406通過切換裝置400后,將CPU401欲執(zhí)行的指令地址輸入到存放開機(jī)固件(也就是BIOS)的EEPROM408,其中第十六條地址線405與其他地址線406在圖4分開繪示(原因后述)。地址線的編號(hào)是從零開始,第零條線為最低位元(bit)。數(shù)據(jù)線407負(fù)責(zé)在CPU401與EEPROM408之間傳遞數(shù)據(jù)。圖4當(dāng)中,切換裝置400包含與門(ANDgate)404以及耦合于與門404其中一個(gè)輸入端的反向器(inverter)403。開機(jī)裝置402輸出的切換信號(hào),經(jīng)過反向器403后,成為與門404的第一個(gè)輸入,第十六條地址線405是與門404的第二個(gè)輸入。與門404的真值表(truthtable)如下在本實(shí)施例中,與門404的輸出就是開機(jī)執(zhí)行地址的第十六位元,而其余的地址線406的內(nèi)容則直接輸出,成為開機(jī)執(zhí)行地址的其他位元,不加以任何改變。地址線405與406提供的地址是一個(gè)參考地址,切換裝置400會(huì)根據(jù)參考地址與切換信號(hào),改變參考地址的內(nèi)容,做為輸出的開機(jī)執(zhí)行地址。也就是說,切換裝置400會(huì)根據(jù)切換信號(hào),改變輸出的開機(jī)執(zhí)行地址。在本實(shí)施例中,開機(jī)裝置402是以不同的開機(jī)按鍵,輸出不同的切換信號(hào)值。換句話說,廠商可以提供不同的開機(jī)按鍵以分別將此電腦設(shè)定成DVD播放機(jī)、臺(tái)式電腦或錄音機(jī)等功能,并在BIOS中提供對(duì)應(yīng)的開機(jī)程序。如此一來,藉由按下不同按鍵所產(chǎn)生的不同切換信號(hào),就可以直接執(zhí)行不同的開機(jī)程序而達(dá)到使用者的各種不同需求。舉例而言,假設(shè)參考地址為FFFF0000h,若切換信號(hào)為1,則開機(jī)執(zhí)行地址為FFFE0000h,若切換信號(hào)為0,則開機(jī)執(zhí)行地址為FFFF0000h。比較兩個(gè)地址不難發(fā)現(xiàn),這兩個(gè)地址的差別只有第十六個(gè)位元,而且切換的開機(jī)程序段大小也因此而限定為64K。如熟悉本技術(shù)者所知,地址的切換并非只能是第十六個(gè)位元。在實(shí)際實(shí)施的時(shí)候當(dāng)可視各開機(jī)程序的大小以及儲(chǔ)存該開機(jī)程序的儲(chǔ)存裝置種類而調(diào)整至最佳的狀況。此外,雖然在本實(shí)施例中,開機(jī)執(zhí)行地址的變化只有兩種,而且僅相差一個(gè)位元,但實(shí)際上這部分的計(jì)算可以更復(fù)雜,可以有更多種變化,地址之間也能有更大的差別。也就是說,開機(jī)執(zhí)行地址可以有更多種、以及更多樣化的選擇。除了圖4繪示的實(shí)施例外,如果系統(tǒng)控制芯片本身提供相對(duì)應(yīng)的轉(zhuǎn)換地址線功能,也可以直接利用系統(tǒng)控制芯片實(shí)施本裝置。以下說明本發(fā)明另外提出的切換開機(jī)執(zhí)行地址的方法。圖5繪示本方法的一個(gè)實(shí)施例的流程圖,首先,在步驟502讀取切換信號(hào),在步驟504讀取參考地址。然后步驟506會(huì)判斷切換信號(hào)是否為1,如果是就進(jìn)行步驟508,將參考地址的第十六位元設(shè)為0,否則就進(jìn)行步驟510,將參考地址的第十六位元設(shè)為1。最后,在步驟512輸出改變后的參考地址,做為開機(jī)執(zhí)行地址。前面為切換開機(jī)執(zhí)行地址的裝置舉出的范例,在這里依然適用假設(shè)參考地址為FFFF0000h,若切換信號(hào)為1,則開機(jī)執(zhí)行地址為FFFE0000h,若切換信號(hào)為0,則開機(jī)執(zhí)行地址為FFFF0000h。在上述方法的實(shí)施例中,開機(jī)執(zhí)行地址的計(jì)算僅涉及一個(gè)位元,可供選擇的可能地址只有兩個(gè),實(shí)際上,決定開機(jī)執(zhí)行地址的計(jì)算可以更復(fù)雜,涉及更多位元,可能地址的數(shù)量也可以隨意增加。根據(jù)以上的說明與范例可知,本發(fā)明提出的方法與裝置,因?yàn)椴皇褂密浖?,而是通過切換信號(hào),以硬件切換開機(jī)時(shí)執(zhí)行的程序段,因此能加快開機(jī)速度,也能提高BIOS更新時(shí)的獨(dú)立性,可以只更新特定的開機(jī)程序段,不用更新整個(gè)BIOS。產(chǎn)品競(jìng)爭力也會(huì)因?yàn)檫@些優(yōu)點(diǎn)而提高。雖然本發(fā)明已以一實(shí)施例揭示如上,然而其并非用以限定本發(fā)明,任何熟悉本技術(shù)的人員,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作出種種的更動(dòng)與潤飾,因此本發(fā)明的保護(hù)范圍當(dāng)視后附的權(quán)利要求所界定的為準(zhǔn)。權(quán)利要求1.一種切換開機(jī)執(zhí)行地址的方法,包括下列步驟讀取一切換信號(hào);讀取一參考地址;以及根據(jù)該切換信號(hào)與該參考地址進(jìn)行計(jì)算,從多個(gè)可能地址當(dāng)中選出一開機(jī)執(zhí)行地址。2.如權(quán)利要求1所述的切換開機(jī)執(zhí)行地址的方法,其特征在于該切換信號(hào)是由一開機(jī)裝置提供。3.如權(quán)利要求1所述的切換開機(jī)執(zhí)行地址的方法,其特征在于該可能地址的數(shù)量為兩個(gè)。4.如權(quán)利要求3所述的切換開機(jī)執(zhí)行地址的方法,其特征在于該可能地址之間僅相差一位元。5.如權(quán)利要求4所述的切換開機(jī)執(zhí)行地址的方法,其特征在于若該切換信號(hào)為0,則該開機(jī)執(zhí)行地址為FFFF0000h,若該切換信號(hào)為1,則該開機(jī)執(zhí)行地址為FFFE0000h。6.如權(quán)利要求1所述的切換開機(jī)執(zhí)行地址的方法,其特征在于該參考地址是來自80×86系列的一CPU。7.如權(quán)利要求1所述的切換開機(jī)執(zhí)行地址的方法,其特征在于該開機(jī)執(zhí)行地址是對(duì)應(yīng)至一開機(jī)固件所包含的多個(gè)開機(jī)程序段其中之一。8.如權(quán)利要求7所述的切換開機(jī)執(zhí)行地址的方法,其特征在于該開機(jī)固件是存放于一電可擦除可編程只讀存儲(chǔ)器。9.一種切換開機(jī)執(zhí)行地址的裝置,耦接于一CPU與保存多個(gè)開機(jī)程序段的一非揮發(fā)性存儲(chǔ)器之間,包括一開機(jī)裝置,根據(jù)不同的開機(jī)需求送出相對(duì)應(yīng)的一切換信號(hào);以及一切換裝置,接收由該CPU所送出的一參考地址與由該開機(jī)裝置所送出的該切換信號(hào),并根據(jù)該切換信號(hào)改變?cè)搮⒖嫉刂返膬?nèi)容,輸出改變后的該參考地址,做為開機(jī)執(zhí)行地址。10.如權(quán)利要求9所述的切換開機(jī)執(zhí)行地址的裝置,其特征在于該切換裝置還包括一反向器,接收該切換信號(hào),并輸出該切換信號(hào)的反向信號(hào);以及一邏輯門,接收該反向器輸出的該切換信號(hào)的反向信號(hào),與該參考地址其中的一第一地址線,進(jìn)行一邏輯運(yùn)算后,輸出該開機(jī)執(zhí)行地址其中的一第二地址線。11.如權(quán)利要求10所述的切換開機(jī)執(zhí)行地址的裝置,其特征在于該邏輯門為一與門。12.如權(quán)利要求10所述的切換開機(jī)執(zhí)行地址的裝置,其特征在于該第一地址線為該參考地址的第十六條地址線,且該第二地址線為該開機(jī)執(zhí)行地址的第十六條地址線。全文摘要一種在電腦系統(tǒng)中切換開機(jī)執(zhí)行地址的方法與裝置,用于在開機(jī)時(shí)迅速選擇執(zhí)行不同的程序段,其特征為讀取一切換信號(hào),并讀取一參考地址,然后根據(jù)切換信號(hào)與參考地址進(jìn)行計(jì)算,從多個(gè)可能地址當(dāng)中選出一個(gè)開機(jī)執(zhí)行地址。優(yōu)點(diǎn)是能加快開機(jī)速度,提高基本輸入輸出系統(tǒng)更新時(shí)的獨(dú)立性,進(jìn)而提高產(chǎn)品競(jìng)爭力。文檔編號(hào)G06F9/445GK1716198SQ20041006331公開日2006年1月4日申請(qǐng)日期2004年7月1日優(yōu)先權(quán)日2004年7月1日發(fā)明者陳奕彰,吳質(zhì)軒申請(qǐng)人:緯創(chuàng)資通股份有限公司