專利名稱:計算機系統(tǒng)、基本輸入輸出系統(tǒng)及啟動方法
技術領域:
本發(fā)明系有關于計算機系統(tǒng)的啟動方法,尤其是有關于啟動具有超線程(Hyper-Threading)處理器的系統(tǒng)的方法。
背景技術:
第1圖系為現(xiàn)有的計算機系統(tǒng)的結構。包括處理器102、北橋芯片104、主存儲器106、南橋芯片108、以及只讀存儲器110。該處理器102中又包括快速存取存儲器112。該只讀存儲器110中儲存有BIOS程序代碼,專門用于初始化系統(tǒng)中的各元件,例如存儲器的更新周期與時鐘設定。計算機系統(tǒng)100在電源啟動時,會先進入POST(Power On Self Test)階段,由北橋芯片104和南橋芯片108執(zhí)行只讀存儲器中的程序,即基本輸入輸出系統(tǒng)(BIOS),對整個計算機系統(tǒng)進行開機自我測試,處理器102并根據(jù)只讀存儲器110中的BIOS程序代碼初始化主存儲器106。主存儲器106的初始化包括許多繁復的步驟,如讀寫測試系為了使北橋芯片104中寄存器(register)根據(jù)主存儲器106的廠牌型號規(guī)格特性等而動態(tài)調(diào)整。如路徑2所示,為了改善主存儲器106初始化的效率,可以把只讀存儲器110中的BIOS程序代碼和執(zhí)行測試過程產(chǎn)生的數(shù)據(jù)皆存放于快速存取存儲器112中。藉此,如路徑3所示,處理器102可以直接執(zhí)行存放于快速存取存儲器112中的BIOS,對北橋芯片104直接進行初始化,以及對主存儲器106進行測試。因處理器102存取快速存取存儲器112的速度比存取只讀存儲器110的速度快,所以大大地改善了主存儲器106測試和北橋芯片104初始化的效率。
隨著超線程(Hyper-Threading)處理器的出現(xiàn),上述方法也遇到了瓶頸。一般超線程處理器包括兩個邏輯處理器,在電源啟動后,第二個邏輯處理器并須經(jīng)過初始化,并停留在閑置狀態(tài),直到第一個邏輯處理器加載操作系統(tǒng)后,再由操作系統(tǒng)支配該第二個邏輯處理器,至此才能真正發(fā)揮功能。而該第二個邏輯處理器的初始化,需要先初始化主存儲器106才能進行。若是依照第1圖的實施例以路徑2和路徑3的方式處理,則會因為第二邏輯處理器尚未初始化,而使得快速存取存儲器處于無填補快取模式(No-Fill Cache),數(shù)據(jù)寫回(write back)時會因地址對應錯亂,而使得主存儲器106的初始化步驟發(fā)生問題。
因此若欲善用快速存取存儲器112的效率以啟動系統(tǒng),就必須設法避免無填補快取的影響。
發(fā)明內(nèi)容
本發(fā)明提供一種啟動方法,用于計算機系統(tǒng),該計算機系統(tǒng)包括支持超線程(Hyper-Threading)的處理器、北橋芯片以及主存儲器,該處理器包括快速存取存儲器,該啟動方法包括下列步驟。首先,使該處理器啟動于非超線程模式,接著將BIOS程序代碼加載該快速存取存儲器中,并利用儲存于該快速存取存儲器中的該BIOS程序代碼,將該主存儲器和該北橋芯片初始化。最后,在該主存儲器已初始化后,使該處理器重新啟動于超線程模式。該計算機系統(tǒng)還包括只讀存儲器,包括該BIOS程序代碼,供開機后加載該快速存取存儲器。
該處理器包括第一邏輯處理器和第二邏輯處理器。使該處理器啟動于非超線程模式的步驟,首先提供第一電位至該處理器的腳位A31,接著傳送重置信號至該處理器,使該第一邏輯處理器啟動,而該第二邏輯處理器不啟動。使該處理器重新啟動于超線程模式的步驟,首先提供第二電位至該處理器的腳位A31,接著傳送該重置信號至該處理器,使該第一邏輯處理器啟動,且該第二邏輯處理器亦啟動。
在該處理器重新啟動于超線程模式之后,更進一步搭配主存儲器以初始化該第二邏輯處理器,并在該第二邏輯處理器完成初始化后,加載操作系統(tǒng)。其中該第一電位系為邏輯1值,該第二電位系為邏輯0值。
第1圖系為現(xiàn)有的計算機系統(tǒng)的結構圖與數(shù)據(jù)流向;第2圖系為本發(fā)明實施例之一的計算機系統(tǒng)結構圖與數(shù)據(jù)流向;以及第3圖系為本發(fā)明實施例之一第2圖中的計算機系統(tǒng)的啟動方法。
102~處理器
104~北橋芯片106~存儲器108~南橋芯片110~只讀存儲器112~快速存取存儲器202~處理器203~第一邏輯處理器205~第二邏輯處理器212~快速存取存儲器具體實施方式
本發(fā)明系有關于計算機系統(tǒng)的啟動方法,尤其是有關于啟動具有超線程(Hyper-Threading)處理器的系統(tǒng)的方法。
在第2圖中揭示本發(fā)明實施例之一的計算機系統(tǒng)200。除了包括北橋芯片104、主存儲器106、南橋芯片108、只讀存儲器110之外,尚有支持超線程的超線程處理器202。該超線程處理器202中包括第一邏輯處理器203和第二邏輯處理器205,以及快速存取存儲器212。該北橋芯片104與超線程處理器202之間以前端總線(FSB)連接,該北橋芯片104與主存儲器106之間以存儲器總線連接,例如雙速率(DDR)總線。此外該北橋芯片104尚包括繪圖加速端口(AGP)以連接顯示卡,而南橋芯片108主要用于低速裝置的數(shù)據(jù)鏈路,例如外圍交連接口(PCI)、通用串行總線(USB)等外圍總線,以及只讀存儲器110,其中儲存有基本輸入輸出系統(tǒng)(BIOS)的程序代碼及設置值,用以進行系統(tǒng)中各項元件的初始化與控制。和第1圖中的處理器102不同的是,超線程處理器202在電源啟動后,第一邏輯處理器203預設地啟動,而其中的快速存取存儲器212系處于不可使用的無填補快取模式。若欲致能(Enable)該快速存取存儲器212,則必須先使第二邏輯處理器205初始化。第二邏輯處理器205的初始化步驟復雜,需要只讀存儲器110提供既定的初始化程序,搭配主存儲器106的互動才能達成。因此事先初始化主存儲器106為必要步驟。
若欲在BIOS初始化該主存儲器106時善用快速存取存儲器212以增加效率,以現(xiàn)有的方法進行啟動的話,會因為第二邏輯處理器205尚未初始化,快速存取存儲器212處于無填補快取模式,數(shù)據(jù)無法正確寫回(write back)對應地址,而發(fā)生問題。
超線程處理器202中包括一個腳位,稱為A31(未圖示),系用以提供超線程處理器202在重置(RESET)時設定超線程模式的開或關。在超線程處理器202重置時若A31的電位為高(asserted),則該超線程處理器202的超線程功能關閉,此時其中的第二邏輯處理器205關閉,僅第一邏輯處理器203啟動。則超線程處理器202可視為單一處理器,藉此快速存取存儲器212進入正常模式,可供正常使用。實際上的腳位信號與通信協(xié)議可視處理器型號與規(guī)格而定。
第3圖系本發(fā)明所提供的一種啟動方法,以腳位A31切換超線程功能的開與關,將快速存取存儲器212的便利性應用于主存儲器106的初始化過程,藉此增進啟動效率。在步驟302中,首先電源啟動,北橋芯片104和南橋芯片108啟動,北橋芯片104通過南橋芯片108從只讀存儲器110中讀取BIOS程序并執(zhí)行之,使整個計算機系統(tǒng)200開始自我檢測與初始化。在步驟304中,如第2圖的路徑1所示,北橋芯片104將腳位A31設為高電位,并發(fā)出重置信號至超線程處理器202以啟動之,使超線程處理器202啟動于關閉超線程的模式,藉此第一邏輯處理器203和快速存取存儲器212的運作便如同一般處理器。隨后在步驟306中,如第2圖的路徑2所示,北橋芯片104將只讀存儲器110中儲存的BIOS程序代碼讀出后寫入快速存取存儲器212。然后在步驟308,如第2圖的路徑3所示,利用儲存于快速存取存儲器212中的BIOS程序代碼,第一邏輯處理器203對主存儲器106進行習知的初始化動作,包括測試與設定。借著第一邏輯處理器203對快速存取存儲器212的存取比對只讀存儲器110的讀取有效率,系統(tǒng)的啟動效率也藉此提升。當主存儲器106初始化的步驟完成后,在步驟310中,北橋芯片104將腳位A31設為低電位,并發(fā)出重置信號重新啟動該超線程處理器202,使之啟動于超線程模式,如第2圖中的路徑4所示。此時因主存儲器106已完成了初始化,便可利用來對第二邏輯處理器205進行初始化。當?shù)诙壿嬏幚砥?05的初始化完成之后,整個超線程處理器202的超線程功能即就緒。隨后在步驟312中,更進一步地對其他元件進行初始化以及加載操作系統(tǒng),藉以使超線程處理器202中第一邏輯處理器203和第二邏輯處理器205的功能完全發(fā)揮。
本發(fā)明實施例所提供的方法,由于超線程處理器202必須被重置第二次,超線程處理器202中的寄存器(Register)中已存的狀態(tài)和內(nèi)容會被清除,所以在第二次重置之前僅執(zhí)行最少的必要步驟,例如初始化主存儲器106,以使得第二次重置后所需再度執(zhí)行的步驟縮減到最少。在本實施例中,超線程處理器202系為具備超線程功能的Intel Pentium 4或是Intel Prescott處理器。該主存儲器106可以是同步動態(tài)存儲器(SDRAM)或雙速率存儲器(DDRRAM)。該只讀存儲器110可以是可初始化只讀存儲器(EEPROM)。
綜上所述,本發(fā)明可應用在支持超線程的系統(tǒng)中,同時善用快速存取存儲器112的效率,并避免了無填補快取模塊的影響。
以上提供的實施例已突顯本發(fā)明的諸多特色。本發(fā)明雖以較佳實施例揭露如上,然其并非用以限定本發(fā)明的范圍,任何本領域技術人員,在不脫離本發(fā)明的精神和范圍內(nèi),當可做各種的更動與潤飾。此外本說明書依照規(guī)定所提的分段標題并不用于限定其內(nèi)容所述的范圍,尤其是背景技術中所提未必是已揭露的習知發(fā)明,發(fā)明說明亦非用以限定本發(fā)明的技術特征。是以本發(fā)明的新穎性、創(chuàng)造性以及保護范圍當視所附的權利要求所界定者為準。
權利要求
1.一種啟動方法,用于一計算機系統(tǒng),該計算機系統(tǒng)包括支持超線程的處理器及主存儲器,該處理器包括快速存取存儲器,該啟動方法包括下列步驟使該處理器啟動于非超線程模式;將BIOS程序代碼加載該快速存取存儲器中;利用儲存于該快速存取存儲器中的該BIOS程序代碼,將該主存儲器初始化;以及在該主存儲器已初始化后,使該處理器重新啟動于超線程模式。
2.根據(jù)權利要求1所述的啟動方法,其中該計算機系統(tǒng)進一步包括只讀存儲器,其中包括該BIOS程序代碼;以及該BIOS程序代碼系在開機時從該只讀存儲器中加載至該快速存取存儲器。
3.根據(jù)權利要求1所述的啟動方法,其中該處理器包括第一邏輯處理器和第二邏輯處理器;使該處理器啟動于非超線程模式的步驟包括提供第一電位至該處理器的腳位A31;以及傳送一重置信號至該處理器,使該第一邏輯處理器啟動,而該第二邏輯處理器不啟動;以及使該處理器重新啟動于超線程模式的步驟包括提供一第二電位至該處理器的腳位A31;以及傳送該重置信號至該處理器,使該第一邏輯處理器啟動,且該第二邏輯處理器亦啟動。
4.根據(jù)權利要求3所述的啟動方法,該啟動方法更進一步包括下列步驟在該處理器重新啟動于超線程模式之后,初始化該第二邏輯處理器;以及在該第二邏輯處理器完成初始化后,加載操作系統(tǒng);其中該第一電位系為邏輯1值,該第二電位系為邏輯0值。
5.一種計算機系統(tǒng),包括處理器,支持超線程,包括快速存取存儲器;主存儲器;只讀存儲器,用以儲存BIOS程序代碼;以及北橋芯片;其中在電源啟動后,該北橋芯片使該處理器啟動于非超線程模式;在該處理器進入該非超線程模式之后,該北橋芯片讀取該BIOS程序代碼,并將該BIOS程序代碼加載該快速存取存儲器中;該處理器利用儲存于該快速存取存儲器中的該BIOS程序代碼,將該主存儲器初始化;以及在該主存儲器已初始化后,該北橋芯片使該處理器重新啟動于超線程模式。
6.根據(jù)權利要求5所述的計算機系統(tǒng),其中該處理器包括第一邏輯處理器和第二邏輯處理器;該北橋芯片提供第一電位至該處理器的腳位A31,并傳送該第一重置信號至該處理器,使該處理器啟動于該非超線程模式;以及在該非超線程模式下,該第一邏輯處理器啟動,而該第二邏輯處理器不啟動。
7.根據(jù)權利要求6所述的計算機系統(tǒng),其中該北橋芯片提供第二電位至該處理器的腳位A31,并傳送該第二重置信號至該處理器,使該處理器重新啟動于該超線程模式;在該超線程模式下,該第一邏輯處理器啟動,且該第二邏輯處理器亦啟動;以及該第一電位系為邏輯1值,該第二電位系為邏輯0值。
8.根據(jù)權利要求7所述的計算機系統(tǒng),其中在該處理器重新啟動于該超線程模式之后,初始化該第二邏輯處理器;以及該計算機系統(tǒng)在該第二邏輯處理器初始化完成后,進行操作系統(tǒng)的加載。
9.一種基本輸入輸出系統(tǒng),儲存于計算機系統(tǒng)的只讀存儲器中,該計算機系統(tǒng)還包括支持超線程的處理器及主存儲器,該處理器包括快速存取存儲器,該基本輸入輸出系統(tǒng)系用以在該計算機系統(tǒng)啟動時執(zhí)行下列步驟使該處理器啟動于非超線程模式;將BIOS程序代碼加載該快速存取存儲器中;利用儲存于該快速存取存儲器中的該BIOS程序代碼,將該主存儲器初始化;以及在該主存儲器已初始化后,使該處理器重新啟動于超線程模式。
10.根據(jù)權利要求9所述的基本輸入輸出系統(tǒng),其中該BIOS程序代碼,系儲存于該只讀存儲器中;以及該基本輸入輸出系統(tǒng)使該BIOS程序代碼從該只讀存儲器中被讀出,而寫入該快速存取存儲器。
11.根據(jù)權利要求10所述的基本輸入輸出系統(tǒng),其中該處理器還包括第一邏輯處理器和第二邏輯處理器;該基本輸入輸出系統(tǒng)使該處理器啟動于非超線程模式的步驟,包括使第一電位被施加至該處理器的腳位A31;以及使重置信號被傳送至該處理器,使該第一邏輯處理器啟動,而該第二邏輯處理器不啟動;該基本輸入輸出系統(tǒng)使該處理器重新啟動于超線程模式的步驟,包括使第二電位被施加至該處理器的腳位A31;使該重置信號被傳送至該處理器,使該第一邏輯處理器啟動,且該第二邏輯處理器亦啟動。
12.根據(jù)權利要求11所述的基本輸入輸出系統(tǒng),其中在該處理器重新啟動于超線程模式之后,該第二邏輯處理器初始化;以及在該第二邏輯處理器完成初始化后,啟動操作系統(tǒng),其中該第一電位系為邏輯1值,該第二電位系為邏輯0值。
全文摘要
本發(fā)明系有關于計算機系統(tǒng)的啟動方法,尤其是有關于啟動具有超線程(Hyper-Threading)處理器的系統(tǒng)的方法。首先,使該處理器啟動于非超線程模式。接著基本輸入輸出系統(tǒng)(BIOS)的程序代碼加載該處理器的快速存取存儲器中,接著利用儲存于該快速存取存儲器中的該BIOS程序代碼,將主存儲器和北橋芯片初始化。最后,在該主存儲器已初始化后,使該處理器重新啟動于超線程模式。藉快速存取存儲器的采用,可提升系統(tǒng)啟動效率。藉切換非超線程模式,使本方法可有效應用于支持超線程的處理器。
文檔編號G06F9/445GK1632753SQ20051000375
公開日2005年6月29日 申請日期2005年1月11日 優(yōu)先權日2005年1月11日
發(fā)明者朱修明, 何寬瑞 申請人:威盛電子股份有限公司