本發明專利技術關于一種基本輸入輸出系統載入中央處理器微碼的方法以及更新基本輸入輸出系統中的中央處理器微碼的方法。通過一系統管理中斷指令,讓基本輸入輸出系統得知中央處理器微碼的地址與大小。再通過一寫入中斷指令,讓該地址中的中央處理器微碼寫入基本輸入輸出系統中的一特定區塊。
【技術實現步驟摘要】
本專利技術是有關于一種基本輸入輸出系統,且特別是有關于一種基本輸入 輸出系統更新或載入中央處理器微碼的方法。
技術介紹
目前的基本輸入輸出系統(basic input/output system, BI0S,以下簡 稱為BIOS)為了搭配主板上的各種硬件,因而包含多個區段的程序代碼,例 如中央處理器微碼(CPU microcode)、周邊裝置的程序代碼或商標(logo) 圖片等等。但是通常主板在使用一段時間后,通常會因硬件更新或廠商研發 出更好的固件等等因素,使得BIOS內會有部分的程序代碼需要更新。當使用者要更新BIOS時,將先下載具有完整BIOS程序代碼的映像文件, 再執行一公用程序(utility)。而此公用程序先抹除原本儲存BIOS的內存, 再將使用者下載的映像文件寫入儲存BI OS的內存中。上述的做法隱藏有風險在于,若更新后的BIOS內的程序代碼與實際主板 上的硬件不能配合時,將造成電腦無法開機。舉例來說,若BIOS內的中央處 理器微碼與主板中的中央處理器不符時(也就是中央處理器微碼不支持主板 中的中央處理器時),在開機的過程中,由于中央處理器無法載入正確的程序 代碼,將使得開機流程中斷,并顯示無法載入中央處理器微碼。
技術實現思路
本專利技術提供一種基本輸入輸出系統載入中央處理器微碼的方法,通過系 統管理中斷指令,使BIOS能夠載入正確的中央處理器孩史碼。本專利技術提供一種更新基本輸入輸出系統中的中央處理器微碼的方法,用 以解決中央處理器微碼無法正確載入時,載入正確的中夾處理器微碼。本專利技術提出 一種基本輸入輸出系統載入中央處理器微碼的方法,首先, 接收一 系統管理中斷指令,此系統管理中斷指令包括一 中央處理器微碼的地址與大小。接著,執行一寫入中斷指令,并根據系統管理中斷指令中的中央 處理器微碼的地址與大小,將中央處理器微碼寫入基本輸入輸出系統中的一 特定區塊。本專利技術提出 一種更新基本輸入輸出系統中的中央處理器微碼的方法,首 先,接收一系統管理中斷指令,此系統管理中斷指令包括一中央處理器微碼 的地址與大小。接著,判斷一特定區塊的容量是否大于或等于中央處理器微 碼的大小。當特定區塊的容量大于或等于中央處理器微碼的大小時,執行一 寫入中斷指令,并根據中央處理器微碼的地址與大小,將中央處理器微碼寫 入特定區塊。本專利技術因采用通過一 系統管理中斷指令,使得B10S得知中央處理器微碼 的地址與大小,以讓BIOS能夠將載入該地址中正確的中央處理器微碼存入一器微碼的問題。為讓本專利技術的上述特征和優點能更明顯易懂,下文特舉較佳實施例,并 配合所附圖式,作詳細說明如下。附圖說明圖1所示為本專利技術實施例的BIOS載入中央處理器微碼的方法的步驟流程圖。圖2所示為本專利技術另 一 實施例的更新B10S中的中央處理器微碼的方法的 步驟流程圖。圖3所示為本專利技術另 一實施例的啟動電腦系統的步驟流程圖。 具體實施例方式在已知技術中,若發生BIOS的中央處理器微碼與主板上的中央處理器不 符時,電腦系統將無法順利開機至操作系統,并顯示錯誤訊息而停住。而本 專利技術提出BIOS與公用程序(utility)溝通并載入中央處理器微碼的方法,將 能夠使得BIOS載入正確的中央處理器微碼。圖。請參考圖1,首先,BIOS接收一系統管理中斷(System Management Interrupt, SMI)指令(步驟S110)。此系統管理中斷指令可以是由一公用程序所發出,而此系統管理中斷指令包括有一 中央處理器微碼的地址與大小。 此系統管理中斷指令中所指向的地址儲存有正確的中央處理器微碼。接下來,BIOS將接收到系統管理中斷指令,并由此系統中斷指令得知此時需載入正確的中央處理器微碼,而執行一寫入中斷指令(步驟S120)。而此 寫入中斷指令可以是目前電腦技術中的特殊中斷16(special INT 16)指令或 其它種類的寫入指令。然后,在寫入中斷指令中,BIOS依據系統管理中斷指令中所指示的中央 處理器微碼的地址與大小,將系統管理中斷指令中從公用程序所回報的內存在本實施例中,原本的BIOS程序代碼可以儲存于主板上的非揮發性存儲器 (non-volatile memory),而特定區塊可以是位于原本儲存BIOS的非揮發性 存儲器中的部分區塊,或是主板中其它地址的非揮發性存儲器。另外,本專利技術也可應用于單獨更新BIOS中的中央處理器微碼,不用刷新 整個BI0S,以下再提出本專利技術另一實施例。圖2所示為本專利技術另一實施例的 更新BIOS中的中央處理器微碼的方法的步驟流程圖。請參考圖2,首先,BIOS 接收一系統管理中斷指令(步驟S210)。此系統管理中斷指令用以指示BIOS 更新中央處理器微碼,并且其內容包括有一中央處理器微碼的地址與大小。 此系統管理中斷指令中所指向的地址儲存有正確的中央處理器微碼。接下來,在BIOS接收到系統管理中斷指令之后,BIOS將判斷一特定區塊的空間是否足以儲存系統管理中斷指令中所指示的中央處理器微碼(步驟 S220)。在本實施例中,特定區塊為欲儲存中央處理器微碼的區塊。在步驟 S220中,若判斷出特定區塊的空間不足以儲存中央處理器微碼,則BIOS將 刪除特定區塊內的部分數據(步驟S230),并繼續進行步驟S240。在本實施例中,由于此特定區塊可能已儲存有其它的程序代碼,因而造 成特定區塊的剩余空間不足以儲存中央處理器微碼。而上述步驟S230可以是 顯示一提示訊息,以告知使用者目前特定區塊的空間不足,并提示使用者選 擇刪除不必要的程序代碼。另外,上述步驟S230也可以是由BIOS判斷與目 前硬件無關的程序代碼,并自行刪除不必要的程序代碼。反之,若在步驟S220中,BIOS判斷出特定區塊的空間足以儲存中央處 理器微碼,則繼續進行步驟S240。在步驟S2"中,由于BIOS已接收到系統 管理中斷指令,并由此系統中斷指令得知此時需載入正確的中央處理器微碼,BIOS將執行一寫入中斷指令。并在寫入中斷指令中,BIOS依據系統管理中斷 指令中所指示的中央處理器微碼的地址與大小,將地址內的中央處理器微碼 寫入BI0S的特定區塊(步驟S250)。在本實施例中,步驟S240與250類似于 圖1實施例中的步驟S120與S130,故不再贅述。由上述實施例可知,本專利技術通過系統管理中斷指令與寫入中斷指令,使 得BIOS的特定區塊內已儲存有正確的中央處理器微碼,因此,電腦系統在開 機過程中,BIOS可以由特定區塊載入正確的中央處理器微碼,并使得電腦可 以正常的開機,并進入正常的運作。為了使本領域具通常知識者可以通過實 施例的教導來實施本專利技術,以下再提出本專利技術的另一實施例,說明應用本發 明的開機流程。為了方便說明本實施例,在說明本實施例之前,預先作出幾項假設。首 先,假設本實施例應用于電腦系統的啟動或由休眠(sleep)狀態重新啟動。接 著,假設電腦在啟動或重新啟動的過程,由一公用程序控制啟動的流程。最 后,假設BIOS的程序代碼儲存于一非揮發性存儲器。圖3所示為本專利技術另一實施例的啟動電腦系統的步驟流程圖。請參考圖 3,首先,當電腦系統啟動后,BIOS掃描儲存非揮發性存儲器中的各區段的 程序代碼(步驟S310),以得知非揮發性存儲器所儲存的原始中央處理器微碼, 并判斷在非本文檔來自技高網...
【技術保護點】
一種基本輸入輸出系統載入中央處理器微碼的方法,其特征是,包括: 接收系統管理中斷指令,上述系統管理中斷指令包括上述中央處理器微碼的地址與大?。弧 绦袑懭胫袛嘀噶?;以及 根據上述中央處理器微碼的地址與大小,將上述中央處理器微碼寫入上述基本輸入輸出系統中的特定區塊。
【技術特征摘要】
【專利技術屬性】
技術研發人員:陳南成,
申請(專利權)人:華碩電腦股份有限公司,
類型:發明
國別省市:71[中國|臺灣]
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。